<%= f.label :level %><br />
<%= f.select :level, options_for_select([["User", 1], ["Administrator", 2]]) %>
我有给定的选择下拉菜单,表单返回302 Found
响应,但没有它,表单会更新。如果我尝试创建新记录,那么它就会被创建,但字段level
是空白的。由于我使用scaffold
生成并仅更新了从text
到select
的输入类型,因此看起来很奇怪。可能导致这种情况的原因以及如何解决?
控制器:
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 action: 'show', status: :created, location: @user }
else
format.html { render action: 'new' }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
形式:
<%= form_for(@user) do |f| %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :surname %><br>
<%= f.text_field :surname %>
</div>
<div class="field">
<%= f.label :level %><br />
<%= f.select :level, options_for_select([["User", 1], ["Administrator", 2]]) %>
</div>
<div class="field">
<%= f.label :password %><br>
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation %><br>
<%= f.password_field :password_confirmation %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
答案 0 :(得分:0)
嗯......看起来您的用户已成功保存,但您设置的level
未被保留。也许在模型层面发生了什么?我们可以看到您的User
型号吗?