実装したい機能がエラーによりなかなか実装できないときに、教えてもらっている先生が導入していたやり方。
以下の2つのgemを導入するとデフォルトのエラー画面が変わり、とても便利そうなのでやってみた。
開発初期にセッティングしてしまうとよさそうです。
Gemfileの中のgroup :development do ~~ end
の中に2行を追加する 。
Gemfile
group :development do
...
...
gem 'better_errors'
gem 'binding_of_caller'
end
次に、ターミナルにて、bundle installを実行
$ bundle install
この時点でエラー画面が変わっていれば完了!
しかしこれだけだと自分の環境だとbetter_errorsの画面が出ず、デフォルトのエラー画面のままでした。
どうやらこの時点ではインストールは完了しているが、デフォルトだとlocalhostからアクセスした場合しかbetter_errorsが有効にならないようです。
そこで、他の開発環境(自分の場合AWSのcloud9を使っています)からでも実行できるように、許可するIPを設定する必要があるようです。
config/emvironments/development.rb
Rails.application.configure do
...
...
end
BetterErrors::Middleware.allow_ip! "0.0.0.0/0" #この一行を追加
これで自分の環境ではうまくいき、エラーが出た際にエラー画面が変わるようになりました。
better_errorsと同時にbinding_of_callerを入れることで、
irb(コンソール)を操作して変数の値などが確認できるのでデバッグ効率が上がりそうです。
>> p hoge
=> (変数hogeの中身が表示)
以上。なかなか今、ビューからコントローラーにパラメータを思い通りに渡すことができず苦戦中です。惜しいみたいなんだけど。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント