我正在尝试制作一个更新用户角色的页面。我有一个用户控制器和一个名为“admin”的控制器中的方法/操作。管理员定义所做的只是将所有用户存储在@users 中。在路由中,资源是用户,它有一个获取 :admin 的集合。
我通过为每个用户创建一个新表单来更新角色,并且每个用户旁边的每个表单都有一个保存按钮。
<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?
感谢您的任何建议或帮助。