我为一些简单的计算创建了一个辅助方法。这个辅助方法只返回一个整数。我需要控制器和视图中的帮助器。
不幸的是,它在视图中运行良好,但在控制器中运行不佳。我收到undefined local variable or method
错误。我该如何解决?
全部谢谢
答案 0 :(得分:10)
为了在控制器和视图中使用相同的方法在application_controller.rb中添加方法并使其成为辅助方法。
例如
class ApplicationController < ActionController::Base
helper :all # include all helpers, all the time
#protect_from_forgery # See ActionController::RequestForgeryProtection for details
helper_method :current_user
def current_user
session[:user]
end
end
现在,您可以在两个控制器中使用 current_user 方法。视图
答案 1 :(得分:4)
我使用以下解决方案。因为我认为辅助方法应该存储在适当的辅助模块中。
module TestHelper
def my_helper_method
#something
end
end
class SomeController < ApplicationController
def index
template.my_helper_method
end
end