🚀

Rails console まとめ

2022/11/30に公開

Rails で開発していると必ず使用する rails console
便利な機能が色々あるのでまとめてみました。

環境を指定して起動する

$ rails console [-e, --environment=name]

$ rails console -e test
or
$ rails console --environment=test
# デフォルトは development 環境になる
$ rails console
> Rails.env
=> "development"

# production 環境で起動する
$ rails console -e production
# $ rails console --environment=production こっちでもいい
> Rails.env
=> "production"

サンドボックスモードで起動する

サンドボックスモードで起動するとコンソール自体が一つのトランザクションになるため、
コンソール終了時にデータベースに関する変更をロールバックすることができます。

$ rails console [-s, --sandbox]
$ rails console --sandbox
> User.create(email: 'test@example.com', password: 'password')
> User.all # => #<ActiveRecord::Relation [#<User id: 1, email: "test@example.com", password: "password", created_at: "2014-11-28 13:29:50", updated_at: "2014-11-28 13:29:50">]>
> exit
   (2.5ms)  rollback transaction

$ rails console
> User.all # => #<ActiveRecord::Relation []>

リロードする

コンソール起動中にコードを変更した際には変更が反映されないので再読み込みしなければいけません。
「reload!」を使えばわざわざ exit しなくても済みます。

$ rails console
> ....
> reload!
Reloading...
=> true

名前付きルートを確認する

> app.root_path
=> "/"

> app.root_url
=> "http://www.example.com/"

> app.url_for(controller: 'home', action: 'index')
=> "http://www.example.com/"

GET リクエストを投げる

> app.get '/'
> response = app.response
> response.body

ヘルパーメソッドを呼び出す

> helper.image_tag 'rails.png'
=> "<img src=\"/assets/rails-60a4f6764722179b3fa8a8e6d7b09643eaccf463cbfcb14fda8717f08811343e.png\" />"

定義したヘルパーメソッドを呼び出す

module ApplicationHelper
  def greet
    'Hello!'
  end
end
> helper.greet
Hello!
Tandems Inc. TECH BLOG

Discussion