我的admin属性有一个简单的下拉列表,它是一个带有true / false值的布尔值:
<td><%= f.select :admin, [ ['Yes', true], ['No', false]]%></td>
以下是我的控制器中的更新方法:
def update
@user = User.find params[:id]
respond_to do |format|
if @user.update(user_params)
format.html { redirect_to @user, notice: 'User has been updated' }
format.json { render :show, status: :ok, location: @user }
else
format.html { render :edit }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
端
但是,当我通过选择&#34;是&#34;来更新用户为管理员时,用户不会更新/保存为管理员...有谁知道什么是错的?谢谢!
答案 0 :(得分:4)
您应该使用options_for_select
:
<td><%= f.select :admin, options_for_select([['Yes', true], ['No', false]])%></td>
有关详细信息,请参阅http://guides.rubyonrails.org/form_helpers.html#making-select-boxes-with-ease。