在阅读了Rails api文档并观察railscast episode之后,我尝试在我的一个控制器中使用辅助方法:
class PostsController < ApplicationController
helper :readers, :otherhelper, :otherhelper2
def endpointMethod
readers_helper_method()
end
然后在app/helpers/readers_helper.rb
:
module ReadersHelper
def readers_helper_method
...
end
end
但是这给了我一个NoMethodError来调用PostsController中的readers_helper_method
。
我做错了什么?
答案 0 :(得分:0)
helper :readers
就像:
require 'readers_helper'
include ReadersHelper
你知道,它们应该是Class方法,而不是Instance方法......
所以,你可以打电话给
class PostsController < ApplicationController
helper :readers, :otherhelper, :otherhelper2
readers_helper_method() # hint self is current class
不是
class PostsController < ApplicationController
helper :readers, :otherhelper, :otherhelper2
def endpointMethod
readers_helper_method() # hit self is current action
end