Это относится к предыдущему вопросу , но я подумал, что было бы лучше разделить его для поиска позже.
У меня есть модель:
class FooModel < ActiveRecord::Base
MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep']
end
У меня есть вид:
<% form_for @foo, :url => {:action => 'bar'} do |f|%>
<%= select :range, :thing, FooModel::MONTHS%>
<%= f.submit "Submit" %>
<% end %>
И у меня есть контроллер:
def index
@foo = FooModel.new
respond_to do |format|
format.html # index.html.erb
end
end
def bar
@events = params.inspect
respond_to do |format|
format.html # index.html.erb
end
end
Я пытался получить доступ к значению, которое должно быть передано через раскрывающееся меню, несколькими способами, но, похоже, оно не передается. Даже вызов params.inspect только устанавливает @events равным пустому хешу. Я подозреваю, что что-то не так с моим потоком, или меня называют неверно или что я называю неправильный период.
В настоящее время индекс - это то место, где живет представление ^^, и когда вы нажимаете на кнопку «Отправить», оно вызывает панель вызовов. Нужно ли передавать переменную по-другому? Спасибо.
Обновление
Возможно, это ведет. Я полагаю, что у меня есть понимание того, что происходит в модели и контроле, но что-то все еще беспокоит меня в представлении. В <% = select: range,: thing, FooModel :: MONTHS%> что на самом деле означает диапазон и вещь? Когда я читаю учебники и тому подобное, как могу лучше сказать, заполняйте html id и теги имен значениями, но больше ничего не знаю. Нужно ли их инициализировать где-нибудь? Они относятся к чему-то конкретному?