Jel*_*Cat 14 ruby cookies ruby-on-rails
我想访问cookie,然后执行相同的操作,无论操作或控制器如何.
我不想写出一个从我的无数动作方法中调用的方法,因为除了痛苦之外,它不会产生非常灵活的代码.我宁愿在application_controller.rb中从ApplicationController类(所有控制器类的超类)调用我的cookie处理方法.
但是,cookies()
在ApplicationController类的主体中调用会引发"未定义的方法"错误.(我想cookies
直到后来才定义.)
我能做什么?我应该覆盖initialize()
ApplicationController 的方法并从那里调用我的cookie处理方法吗?如果是这样,我应该如何将参数传递给超级构造函数?
PS我正在使用Rails 2.3.5
mar*_*ada 15
这是一个哈希,而不是一个方法:
cookies[:some_key]
Run Code Online (Sandbox Code Playgroud)
... 代替:
cookies(:some_key)
Run Code Online (Sandbox Code Playgroud)
小智 8
这可能对你有用:
class ApplicationController
before_filter :handle_cookies
def handle_cookies
# Do whatever it is you want to do with your cookies
end
end
Run Code Online (Sandbox Code Playgroud)
在编译成哈希之后,该before_filter
方法将调用您指示的任何子例程(:handle_cookies
)cookies
.将此代码添加到应用程序控制器将意味着所有其他控制器继承它并将执行相同的功能.