を使いたい
何をしたいか?
Railsでhtmlの特殊文字である を使いたい。
対策
String#html_safe もしくは、raw ヘルパーを利用する。
" ".html_safe raw(" ")
secret_key_base設定漏れで謎のエラー
エラー
An unhandled lowlevel error occurred. The application logs may have details.
対応
secret_key_base が設定されていないことが原因、ちゃんと値が設定されているかを確認する
値は、bundle exec rake secret で作ることができる。
生成された値を設定ファイル等に設定しておく
assetsの配信設定
症状
- Railsをproductionで起動したとき、css, jsが読み込めない
対応
config/environments/production.rb の config.public_file_server.enabled を true に設定する
ただし、本来はpublic/配下のstaticなファイルをrailsに配信させるのはあまりおすすめの設定ではないので、nginx等のwebサーバーやcdnから配信するほうが良い
Rails5以降だと上記の設定だけど、Rails4までだと config.serve_static_files という設定項目だった
Rails serverコマンド強制停止させる
症状
- 重たいクエリーや重たい処理をやっていて
rails sの応答がなくなった。 - 処理は行っていそうだけど、長時間待たされる可能性がある
対応
プロセス番号を調べてから kill コマンドで停止させるというのが一般的だけど、もう少し簡単に行う方法です。
一度サスペンドさせてから、バックグランドで動かして、killコマンドで強制停止させると簡単です。
くれぐれも、-9 は乱用しないようにしましょう。
# Ctrl + z
# サスペンドされる
% bg
[1] + continued bundle exec rails s
% kill -9 %1
[1] + killed bundle exec rails s