如果Rails 3中缺少一个动作方法,如何引发

时间:2015-11-30 02:32:44

标签: ruby-on-rails ruby-on-rails-3 actioncontroller

我从rails 3 rendering view without action了解到,即使没有与该操作相对应的公共控制器方法,处理请求的请求也是可能的。

在Rails 3中是否可以将开发环境配置为在这种情况下通过将config/environments/development.rb修改为失败来自动引发(如果没有公共(与受保护或私有)相对应的控制器方法)行动?

1 个答案:

答案 0 :(得分:0)

您可以在ApplictionController

中执行此类操作
  before_filter :check_action, if: 'Rails.env.development?'

  private

  def check_action
    unless respond_to?(params[:action])
      raise NoMethodError, "#{params[:controller]} controller has no #{params[:action]} action"
    end
  end