Я пытаюсь обновить статус пользователя из длинного списка пользователей, нажав кнопку «сделать пользователя», которая обновит «статус» пользователя от «admin» до «user» ». Тем не менее, код, который я использую, только обновляет первого пользователя от «admin» до «user», независимо от того, какую кнопку я нажимаю.Как обновить записи из списка рельсов списка
Я считаю, что ошибка находится в контроллере в первой строке обновления.
Как я могу сделать функцию обновления, выбрать запись, которую я нажал «сделать пользователя», и обновить ее, а не первую запись? Благодаря!
Контроллер
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 %>
Как я мог бы сделать функцию формы только для записи он находится на? потому что он по-прежнему редактирует только первую запись в базе данных –
Просьба поделиться своим кодом формы. –
извините, я отправил неправильный контроллер, но это то же самое, с разными метками –