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 %>
我如何才能让表格功能仅是记录在案?因为它仍然只编辑数据库中的第一条记录 –
请分享您的表单代码。 –
对不起,我发布了错误的控制器,但它是相同的东西,不同的标签 –