複数のコントローラーで使用されるヘルパー メソッドを定義する場所に問題があります。
このメソッドを独自のモジュールに抽出しました。
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>
含める必要があるモジュールはありますか? このようなヘルパーを共有する最良の方法は何ですか?