有人知道我为什么会这样吗
未定义的#方法'my#u method'<;MyController:0x1043a7410>;
当我从ApplicationController子类中调用我的_方法(“字符串”)时?我的控制器看起来像
类MyController<;应用控制器
def秀
@value=my_方法(参数[:字符串])
终止
终止
我的助手呢
模块应用程序助手
def my_方法(字符串)
返回字符串
终止
终止
最后是ApplicationController
类应用程序控制器<;ActionController::Base
过滤后:设置内容类型
助手:全部
助手\u方法:当前用户\u会话,:当前用户
过滤器\参数\日志记录:密码
保护_免受伪造#有关详细信息,请参阅ActionController::RequestForgeryProtection
不能从控制器调用帮助程序。如果需要在多个控制器中使用该方法,最好在ApplicationController中创建该方法
EDIT:说清楚一点,我认为很多困惑(如果我错了,请纠正我)源于helper:all调用helper:all实际上只包括视图侧任何控制器下使用的所有帮助程序。在更早版本的Rails中,帮助程序的名称空间决定了哪些控制器的视图可以使用帮助程序
我希望这有帮助