Я пытаюсь использовать радиокнопки в моем приложении rails. В настоящее время кнопки отображаются на странице, как и ожидалось, но значение не сохраняется при отправке. Я думаю, что проблема на самом деле с моей кнопкой отправки - при нажатии ничего не происходит.
Вот код моей страницы с переключателями:
<div class="form_row>
<%= form_for @term, :url=>{ :action =>"update_status" } do |f| %>
<%= f.radio_button :status, 'on' %><b>On</b> <br/>
<%= f.radio_button :status, 'off' %><b>Off</b> <br/>
<%= f.radio_button :status, 'leave' %><b>Leave</b> <br/>
<div class="actions">
<%= f.submit "Change term status" %>
</div>
<% end %>
</div>
Я исправил опечатку (': actions to
: action`), но она все еще не работает. Вот еще немного информации ...
Переключатели находятся вверху страницы, а остальная часть формы - под ними. У меня есть две разные кнопки отправки, одна для переключателей, а другая для заполнения пустой информации внизу страницы. Вторая форма работает отлично, но когда я нажимаю кнопку «Изменить статус» (кнопка, которая должна отправлять переключатели, вызывая update_status
, ничего не происходит.
Вот весь код для просмотра моей страницы:
<h1> <%= @title %> </h1>
<div class="form_row>
<%= form_for @term, :url=>{ :action =>"update_status" } do |f| %>
<%= f.radio_button :status, 'on' %><b>On</b> <br/>
<%= f.radio_button :status, 'off' %><b>Off</b> <br/>
<%= f.radio_button :status, 'leave' %><b>Leave</b> <br/>
<div class="actions">
<%= f.submit "Change term status" %>
</div>
<% end %>
</div>
<%= form_for @term, :url=>{ :action=>"update" } do |f| %>
<div class="field">
<%= f.label :course1, "Course 1" %><br />
<%= f.text_field :course1 %>
</div>
<div class="field">
<%= f.label :course2, "Course 2" %><br />
<%= f.text_field :course2 %>
</div>
<div class="field">
<%= f.label :course3, "Course 3" %><br />
<%= f.text_field :course3 %>
</div>
<div class="field">
<%= f.label :course4, "Course 4" %><br />
<%= f.text_field :course4 %>
</div>
<div class="actions">
<%= f.submit "Update" %>
</div>
<% end %>
И вот оба определения:
def update
@term = Term.find(params[:id])
@dplan=@term.dplan
if @term.update_attributes(params[:term])
flash[:success] = "Edit successful."
redirect_to @dplan
else
flash[:success] = "Error"
redirect_to @dplan
end
end
def update_status
@term = Term.find(params[:id])
@dplan=@term.dplan
if @term.update_attributes(params[:term])
flash[:success] = "Term status changed."
redirect_to @term
else
flash[:success] = "Error"
redirect_to @term
end
end
Спасибо!