Я пытаюсь обновить информацию о пользователе, но у меня возникает ошибка из-за того, что он не получил никаких данных из моей формы
Вот мой user.controller
:
def update
if !session[:id]
redirect_to '/users'
else
@user = User.find(params[:id])
@user.update(update_params)
if @user.valid?
@user.save
redirect_to '/events'
else
flash[:errors] = @user.errors.full_messages
redirect_to "/users/#{@user.id}/edit"
end
end
end
def update_params
params.require(:user).permit(:fname, :lname, :email, :city, :state)
end
редактировать обновление форма здесь моя edit.html.erb
форма:
<form action="/users/<%= @user.id %>/update" method="post">
<input type="hidden" name="_method" value="patch">
<%= hidden_field_tag :authenticity_token, form_authenticity_token %>
<div class="form-group row">
<label for="fname" class="col-sm-2 col-form-label">First Name</label>
<div class="col-sm-10">
<input type="text" name="user[fname]" class="form-control" placeholder="<%= @user.fname %>">
</div>
</div>
<div class="form-group row">
<label for="lname" class="col-sm-2 col-form-label">Last Name</label>
<div class="col-sm-10">
<input type="text" name="user[lname]" class="form-control" placeholder="<%= @user.lname %>">
</div>
</div>
<div class="form-group row">
<label for="email" class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input type="email" name="user[email]" class="form-control" placeholder="<%= @user.email %>">
</div>
</div>
<div class="form-group row">
<label for="location" class="col-sm-2 col-form-label">Location</label>
<div class="col-sm-5">
<input type="text" name="user[city]" class="form-control" placeholder="<%= @user.city %>">
</div>
<div class="col-sm-5">
<select class="custom-select" name="user[state]">
<%= options_for_select(us_states)%>
</select>
</div>
</div>
<div class="form-group row clearfix">
<div class="col-sm-10 offset-sm-2">
<button type="submit" class="btn btn-primary float-right">Update</button>
</div>
</div>
</form>
Только что обновила мою html форму
это ошибка в терминале, когда я нажимаю «Отправить» из своей формы:
(0,1 мс) начало транзакции Пользователь существует (1,7 мс) ВЫБРАТЬ 1 КАК один ИЗ «пользователей» ГДЕ («пользователи». «Email» = 'nhan13574@gmail.com' И «пользователи». «Id»! = 1) LIMIT 1 (0,1 мс) откат транзакции Перенаправлен на http://localhost: 4000 / users / 1 / edit