首先,我是 Rails 的新手。
我在 SessionsController 中有这个:
def method
sign_in 'user'
end
这在 SessionsHelper 中:
def sing_in(user)
......
end
所以谷歌搜索和阅读stackoverflow上的一些答案让我尝试这样
的事情:包括'SessionsHelper'到SessionsController,甚至试图把它放在'ApplicationController'中,如下所示:
class ApplicationController < ActionController::Base
protect_from_forgery
include SessionsHelper
def handle_unverified_requests
sign_out
super
end
end
但我越来越
NoMethodError:SessionsController:0x007eff2004fcd8 的未定义方法“sign_in”
还有几个问题:
1)在 Heplers 中放置一些方法而在 Controllers 中放置一些方法有什么意义/区别?是安全问题还是什么?2)当我在stackoverflow中读到控制器中定义的方法可以在视图中访问时,
我还尝试将sign_in方法放在SessionsController中。所以为了避免我使用的视图中的任何问题
helper_method
但仍然是相同的 NoMethodError
3) 访问控制器中的辅助方法的最佳且简单的方法?
那么我哪里错了。
我正在使用Rails 3.2.11和Ruby 2.0.0p0