&tag(Rails/トラブルシューティング); *目次 [#q70d8e0f] #contents *関連ページ [#sc06f186] *参考情報 [#d9257280] *エラー [#b3173f64] **コントローラーのメソッドが呼ばれない [#m7bef2d0] -コントローラーのメソッドがprivateになっていないか注意。 -privateを上の方に追加するとそれ以降privateとみなされてしまう。 **Macでlibv8/therubyracerをインストールしようとしてエラー [#j670893a] ***参考情報 [#ub668d86] -[[Yosemite で libv8 と therubyracer をインストールする:http://3.1415.jp/d3wpyqjr/]] -[[Kamiya54::Memo - [備忘録] Yosemiteにしてからbundle installが通らなくなった原因と対応:http://www.kamiya54.info/post/104406379491/%E5%82%99%E5%BF%98%E9%8C%B2-yosemite%E3%81%AB%E3%81%97%E3%81%A6%E3%81%8B%E3%82%89bundle-install%E3%81%8C%E9%80%9A%E3%82%89%E3%81%AA%E3%81%8F%E3%81%AA%E3%81%A3%E3%81%9F%E5%8E%9F%E5%9B%A0%E3%81%A8%E5%AF%BE%E5%BF%9C]] ***現象 [#nc71375b] -環境はOS X El CapitanとRubyのバージョンは2.2.4。 -Gemfileの指定。 #pre{{ gem 'therubyracer', '0.12.1' gem 'libv8', '3.16.14.7' }} -「mkmf.rb:1702:in `dir_config': undefined method `split' for true:TrueClass (NoMethodError)」といったエラーが表示される。 -libv8はインストールできるのだが、therubyracerがどうしてもだめ。 -apple-gccをインストールする方法が提唱されているがこれはやりたくない。 ***解決 [#k60819df] -Gemfileの指定を以下のように変更。 #pre{{ gem 'therubyracer', '0.12.1' gem 'libv8', '3.16.14.11' }} -このあと「bundle update」しないとだめなので注意。gem 'libv8', '3.16.14.13'だとだめかも。 -今後のことを考え検証用のデモプロジェクト「ruby-therubyracer-demo」を作成した。 **We're sorry, but something went wrong. [#v137d624] -画面に表示された場合、アプリログを確認する(log/production.log)。それを見れば代替原因が分かる **Uncaught exception: Specified 'mysql2'…(2015/10/28) [#td20bd27] -正確には以下のようなエラーが発生する Uncaught exception: Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile -[[mysql2 gem v0.4.0 doesn't work · Issue #21544 · rails/rails:https://github.com/rails/rails/issues/21544]]によると、Gemfileでmysql2のバージョンを指定すれば良いらしい。 gem 'mysql2', '~> 0.3.18' **DEPRECATION WARNING: The configuration option `config.serve_static_assets` has been renamed to `config.serve_static_files` to clarify its role [#sbf3f169] -development.rbで「config.serve_static_assets = true」を「config.serve_static_files = true」に変更。