各行にsubmit_tagsを含むフォームを作成するための「レールの方法」とは何ですか。submit_tagは、どの行の送信がクリックされたかをコントローラーに通知します。
form_tag内に、私のフォームにはユーザーのリストが表示され、各ユーザーの横には「foo」や「bar」などのいくつかのアクションがあります。
現在、これらのアクションにlink_toを使用しています。これにより、クエリパラメータが追加さ:row => this_row.guid
れ、コントローラーがアクションを実行する行を認識できるようになります。それは機能しますが、URLでクエリパラメータを公開するのは好きではありません。また、URLでクエリパラメータを保持する方法も好きではないので、ユーザーが[更新]をクリックすると、アクションが再度実行されます。
表示されている行はすでにフォーム内にあるので、各アクションをsubmit_tagにします。しかし、APIドキュメントから、submit_tagの各インスタンスに異なるクエリパラメータを追加する方法があることはわかりません。
私がこれを試すとき:
= submit_tag "foo", {:row => this_row.guid}
= submit_tag "bar", {:row => this_row.guid}
HTMLは次のようになります<input .... row='SOMEGUID' ...>
ただし、POSTされたパラメータには:rowクエリパラメータは含まれません
私も試しました
= submit_tag "foo", params.merge(:row => this_row.guid)
= submit_tag "bar", params.merge(:row => this_row.guid)
同じ結果になります(row = GUIDが含まれますが、ユーザーが送信ボタンをクリックしたときに、そのパラメーターはコントローラーにPOSTされません)。
送信ボタンの行を多数(ユーザーに同じ名前で表示できるようにする)、行IDをコントローラーに渡す方法についてのヘルプをいただければ幸いです。