我在哪里定义多个控制器使用的辅助方法时遇到了一些麻烦。
我将此方法提取到它自己的模块中:
module ColumnMapHelper
def drop_down_upload_file_types
options = [["Use the RoyaltyZone Sales Upload Template", "RZ"], ["Use my own data file (Quickbooks, iTunes, etc)", "Create New"]]
...
select_tag "file_upload_type", options_for_select(options, default), :id=>"upload_file_type_selection"
end
end
我将它包含在控制器中并将其作为辅助方法公开:
class SalesDataController < ApplicationController
before_filter :login_required, :except => [:download]
include ColumnMapHelper
helper_method :drop_down_upload_file_types
当它在我的控制器的帮助程序(app/helpers/sales_data_helper.rb)中定义时很好,但是现在当我在视图中调用我的帮助程序方法时出现此错误:
undefined method `options_for_select' for #<SalesDataController:0x109bbbd18>
我需要包含一些模块吗?分享这样的助手的最佳方式是什么?