0
我試圖通過單擊「更新用戶」按鈕將用戶的「狀態」從「admin」更改爲「用戶」來更新用戶的長列表中的用戶狀態」。但是,我使用的代碼只會將第一個用戶從'admin'更新爲'user',無論我按哪個按鈕。如何從索引列表中更新記錄rails
我相信錯誤是在控制器中,在第一行更新。
如何使更新功能選擇我單擊「使用戶」的記錄並更新該記錄,而不是第一條記錄?謝謝!
控制器
def index
@user = User.find(params[:id])
end
def update
@user = User.find_by(params[:id])
@user.update_attributes(update_user_params)
redirect_to '/dashboard/users'
end
問題必須在(PARAMS [:ID])。 表單代碼
<% @user.each do |user| %>
<tr id="dashfield">
<td><%= user.first_name%></td>
<td><%= user.last_name %></td>
<td><%= user.email %></td>
<td><%= user.role %></td>
<td><%= form_for user, method: :put do |f|%>
<%= f.hidden_field :role, :value => 'user'%>
<%= f.submit 'Make User'%>
<%end%><%= form_for user, method: :put do |f|%>
<%= f.hidden_field :role, :value => 'admin'%>
<%= f.submit 'Make Admin'%>
<%end%></td>
</tr>
<% end %>
我如何才能讓表格功能僅是記錄在案?因爲它仍然只編輯數據庫中的第一條記錄 –
請分享您的表單代碼。 –
對不起,我發佈了錯誤的控制器,但它是相同的東西,不同的標籤 –