如何使用radio_button和form_for formhelper将空值插入到DB中

时间:2011-11-22 21:28:07

标签: ruby ruby-on-rails-3 radio-button form-for

我不想争论是否可以将null值视为布尔值 - 我知道它不能。但是,我仍然希望在(postgres)数据库中插入一个空值。该列的类型为boolean。如何使用单选按钮完成此操作?这是我尝试过的:

<div class="new-partner-form">
<%= form_for [:admin, matching_profile.partner, matching_profile],  :html => {:id => "edit_profile", :multipart => true} do |f| %>    
  <div class="rounded-block semi-wide clear">
    <h4>Military Service</h4>
    <%= f.radio_button :served_in_us_army, false %>
    <%= label :served_in_us_army, 'NO', {:style => 'display:inline'} %>
    <%= f.radio_button :served_in_us_army, true %>
    <%= label :served_in_us_army, 'YES', {:style => 'display:inline'} %>
    <%= f.radio_button :served_in_us_army, nil %>
    <%= label :served_in_us_army, 'NO PREFERENCE', {:style => 'display:inline'} %>
    <%= f.error_message_on :served_in_us_army %>
  </div>

2 个答案:

答案 0 :(得分:0)

如何为null列设置默认值?在您的表单中,不要使用f.radio_button,只需使用普通的旧HTML并设置名称,以便不会使用您为创建操作提交的内容的结构来选择它。

答案 1 :(得分:0)

看起来您不需要布尔值但可以枚举值,因为布尔值应该只为true或false)