我正在使用RoR 3,form_tag,checkbox_tag和submit_tag將ID集合提交給我的控制器。複選框ID未提交表單提交
我有一個消息表,我想讓複選框允許我選擇並對這些提交的項目執行操作。筆者認爲:
<%= form_tag :name => "mailgrid",:id=>"submit",:action => "inbox_action" do %>
...
<td class="mailbox_from"><%= check_box_tag 'msg_ids[]', message.id %></td>
...
<%= submit_tag "delete", :name => 'commit', :value=>'delete' %>
<% end %>
這將產生HTML,看起來像這樣:
<form accept-charset="UTF-8" action="/messages/inbox_action/submit?name=mailgrid" method="post">
...
<input id="msg_ids_" name="msg_ids[]" style="position:relative;top:-2px;right:10px;" type="checkbox" value="88" />
...
<input name="commit" type="submit" value="delete" /> </div>
然後,在我的控制器:
if params[:msg_ids]
#dostuff
end
然而,這些複選框是否選擇永遠不會被傳遞到我的控制器。在我的日誌中,這些參數完全丟失,即使這個控制器方法確實被調用。這裏的日誌:
開始POST 「/消息/ inbox_action /提交名稱= mailgrid?」 爲127.0.0.1,在2013年2月5日19時43分02秒-0800
處理由MessagesController#inbox_action作爲HTML
參數:{「utf8」=>「✓」,「authenticity_token」=>「asdf」,「commit」=>「delete」,「name」=>「mailgrid」,「id」=> 「submit」}
關於我做錯了什麼想法?
你結束與''<% end %>表單? – sevaor
http://guides.rubyonrails.org/form_helpers.html 我認爲你應該使用「form_for」爲你的模型CRUD – kukrt
這不是特別綁定到模型動作,所以我想使用form_tag,因爲它更通用。 是的,我以'<% end %>'結尾。我會更新帖子。 – Tripp