NoMethodError: undefined method `web_console' が出たら

2016/08/01

Railsをproduction環境(productionモード)で動かす時に、次のようなエラーが出ることがあります。

NoMethodError: undefined method `web_console' for #<Rails::Application::Configuration:0x007f8ad4453128>

このエラーは、Gemパッケージweb_consoleに関する設定を config/application.rb ファイルや config/initializers ディレクトリ内のファイルなどに記述すると発生します。

例えば、こんな風に。

module Asagao
  class Application < Rails::Application
    config.web_console.whitelisted_ips = '192.168.0.0/16'
  end
end

通常、Gemfileにはproduction環境でweb_consoleを使わないように設定されているので、ここでエラーが発生します。

エラーを回避するには、次のようにproduction環境以外でのみweb_consoleの設定を行うようにしてください。

module Asagao
  class Application < Rails::Application
    unless Rails.env.production?
      config.web_console.whitelisted_ips = '192.168.0.0/16'
    end
  end
end