
要遵循DRY原则,我想用这些参数定义共享变量.
class ApplicationController < ActionController::Base @@requested_action = params[:action] @@requested_controller = params[:controller]end
但我得到错误:未定义的局部变量或方法“params”为ApplicationController:Class
为什么我不能这样做,我怎样才能实现我的目标?
解决方法 我相信你已经为Rails定义了controller_name和action_name变量.如果您想按照自己的方式进行 *** 作,则必须将其定义为之前的过滤器,因为只有在请求生成后,params才会存在.你可以做这样的事情
class ApplicationController < ActionController::Base before_filter :set_action_and_controller def set_action_and_controller @controller_name = params[:controller] @action_name = params[:action] endend
您可以将它们作为@controller_name和@action_name访问.但是在Rails中已经定义了controller_name和action_name.您可以直接使用它们.
总结以上是内存溢出为你收集整理的ruby-on-rails – ApplicationController中具有params值的类变量全部内容,希望文章能够帮你解决ruby-on-rails – ApplicationController中具有params值的类变量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)