我試圖做一個頁面,更新我的用戶的角色。我有一個用戶控制器和一個名爲「admin」的控制器中的方法/動作。所有管理員定義所做的就是將所有用戶存儲在@users中。在路由中,資源是用戶,並且它有一個集合,可以獲得:admin。Rails 3表單,需要更好的設計,可能與ajax
我通過爲每個用戶創建一個新的形式更新的角色和我有一個爲每個表單保存旁邊的每個用戶按鈕。
<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在更新按鈕是沒有必要?
感謝您的任何建議或幫助。
當我這樣做時,我似乎無法獲得路線工作。我從我的終端ActionController :: RoutingError(沒有路由匹配「/用戶/ 3」)得到一個錯誤。我在我的控制器中有一個更新命令,它以另一種方式工作。 – a3uge 2011-04-26 00:04:28
看看是否有幫助:http://stackoverflow.com/questions/4025044/rails-3-routing-error – 2011-04-26 00:52:18
不是。我通過:url => users_path和:controller =>「users」以及:action =>「update」到form_for ...我的終端返回開始POST「/ users」爲... 處理方式: RegistrationsController#創建爲JS 我不知道爲什麼它會去註冊控制器 – a3uge 2011-04-26 02:16:11