布尔属性的下拉列表在Rails中无法正常工作

时间:2014-09-04 11:59:47

标签: ruby-on-rails drop-down-menu boolean

我的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;来更新用户为管理员时,用户不会更新/保存为管理员...有谁知道什么是错的?谢谢!

1 个答案:

答案 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