【发布时间】:2013-12-25 03:43:36
【问题描述】:
<%= 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 %>
【问题讨论】:
标签: ruby-on-rails ruby forms http select