0
Я добавил атрибут модели. Поле формы заполняется, но когда я отправляю его, он не вводит его в мою БД.Rails добавлен атрибут модели, не заполняющий форму
Поле Идентификатор роли:
Вы можете увидеть на следующей странице, что он не заполняет БД:
Я также подтвердил, из БД:
+----+--------+-------------------------+----------+---------+-------+---------------------+---------------------+---------+
| id | userid | email | password | fname | lname | created_at | updated_at | roleids |
+----+--------+-------------------------+----------+---------+-------+---------------------+---------------------+---------+
| 1 | 1 | [email protected] | test | kendall | weihe | 2016-03-15 21:56:30 | 2016-03-15 21:56:30 | NULL |
| 2 | 2 | [email protected] | test | ken | weihe | 2016-03-16 11:39:05 | 2016-03-16 11:39:05 | NULL |
| 3 | 2 | [email protected] | test | ken | weihe | 2016-03-16 11:42:32 | 2016-03-16 11:42:32 | NULL |
| 4 | 2 | [email protected] | test | ken | weihe | 2016-03-16 11:44:26 | 2016-03-16 11:44:26 | NULL |
+----+--------+-------------------------+----------+---------+-------+---------------------+---------------------+---------+
Форма ввода выглядит следующим образом:
<div class="field">
<%= f.label :lname %><br>
<%= f.text_field :lname %>
</div>
<div class="field">
<%= f.label :roleids, "RoleID: 1 for Employee or 2 for Customer" %><br>
<%= f.number_field :roleids %>
<%debugger%>
</div>
<div class="actions">
<%= f.submit %>
</div>
отладчик помещен выше подтверждает, что атрибут существует:
действие#<User id: nil, userid: nil, email: nil, password: nil, fname: nil, lname: nil, created_at: nil, updated_at: nil, roleids: nil>
контроллер выглядит следующим образом:
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'User was successfully created.' }
format.json { render :show, status: :created, location: @user }
else
format.html { render :new }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
Это часто связано с сильными параметрами, вы используете их? Можете ли вы разместить соответствующие части своего контроллера? – Matt
@Matt oops, добавлено –
Что находится в методе 'user_params'? @Matt прав, самая простая ошибка заключается в том, что вы забыли добавить 'roleids' в метод' user_params'. –