2011-11-22 74 views
0

我不想争论有关它是否为空值可以被视为布尔值 - 我知道它不能。然而,我仍然想要在(postgres)数据库中插入一个空值。该列是布尔类型的。我怎样才能用一个单选按钮来实现这一点?这是我试过的:如何使用radio_button和form_for formhelper将空值插入到数据库中

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

回答

0

那么只需要为null列设置一个默认值呢?在你的表单中,不要使用f.radio_button,而只需使用普通的旧html,并设置名称,以便它不会与您为创建操作提交的内容相结合。

+0

好,这是数据库的设置方式 - 为外地有默认设置为NULL值。但是,我们一直做出糟糕的选择,并且使单选按钮成为表单的必要部分,因此某些表单插入了t或f,用户需要将其切换为nil。现在,它通过使用''“'值来工作 – Ramy

0

看起来你不必布尔但枚举值,因为布尔应该是真或假的只)

相关问题