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`)を修正しましたが、まだ機能していません。ここにいくつかの詳細があります...
ラジオボタンはページの上部にあり、フォームの残りの部分はそれらの下にあります。2つの異なる送信ボタンがあります。1つはラジオボタン用で、もう1つはページ下部の空白情報の入力用です。2番目のフォームは完全に機能しますが、[期間ステータスの変更]ボタン(を呼び出してラジオボタンを送信することになっているボタン)をクリックしても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
ありがとうございました!