У меня возникли проблемы с определением вспомогательных методов, которые используются более чем одним контроллером.Неопределенный метод `options_for_select '
Я извлек этот метод в свой собственный модуль:
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>
Есть ли какой-то модуль, который мне нужно будет включить? Каков наилучший способ поделиться помощниками, как это?
Есть ли причина, по которой вы включаете ее в свой контроллер? –
Я где-то читал, чтобы поместить общие вспомогательные методы в ApplicationController. –