【问题标题】:How to raise if an action method is missing in Rails 3如果 Rails 3 中缺少操作方法,如何引发
【发布时间】:2015-11-30 02:32:44
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    你可以在你的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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 2012-02-11
      • 2023-03-20
      相关资源
      最近更新 更多