ユーザーの役割を更新するページを作成しようとしています。ユーザーコントローラーと、コントローラーに「admin」と呼ばれるメソッド/アクションがあります。管理者定義が行うのは、すべてのユーザーを @users に保存することだけです。ルートでは、リソースはユーザーであり、:admin を取得するコレクション do があります。
ユーザーごとに新しいフォームを作成してロールを更新しています。各ユーザーの横に各フォームの保存ボタンがあります。
<table>
<tr>
<th>Username</th>
<th>Role</th>
<th>Update</th>
</tr>
<% @users.each do |user| %>
<%= form_for [user], :user => { :action => "update" } do |f| %>
<tr>
<td><%= user.username %></td>
<td><%= select("user", "role", options_for_select(['member', 'moderator','admin'], user.role) )%></td>
<td><%= f.submit %> </td>
</tr>
<% end %>
<% end %>
</table>
これは機能し、更新されますが、あまり直感的ではありません。全体の後に送信ボタンを配置するか、変更時にロールを更新する ajax 呼び出しを使用して、ユーザーが「保存」をクリックすることをまったく心配する必要がないようにしたいと考えています。
二重のネストされたループを回避し、更新ボタンが不要な場所に ajax を追加する方法はありますか?
アドバイスや助けをありがとう。