2015-06-22 19 views
1

在我的應用程序中,我有一個range_field,用戶可以選擇0..100。但如果他們不選擇任何東西,我希望表單提交「null」或零作爲值而不是數值。Rails:獲取f.range_field以提交null或零作爲默認值

這可能嗎?

如果我使用下面的語法,然後一切正常,除了值不爲零:

<%= f.range_field :content, :value=> nil, :class=> "question-field percentage", :step => 10, :in => 0..100, :data => {:question => question.id} %> 

如果我用這個語法,那麼價值爲零,但我的其他選項不起作用:

<%= f.range_field :content, :value=> nil, :options=> {:in => 0..100, :step => 10, :class=> "question-field percentage", :data => {:question => question.id}} %> 

回答

1

您可以添加一個隱藏的複選框值來判斷用戶是否選擇。

= f.range_field :content, :value=> nil, :class=> "question-field percentage", :step => 10, :in => 0..101, :data => {:question => question.id 
= check_box_tag :range_clicked, true, false, style:'display:none;' 

,然後添加一個js函數來告訴用戶是否點擊輸入範圍或不

$('#foobar_content').on('click',function(){ 
    $('#range_clicked').attr('checked',true); 
    }); 

如果用戶選擇輸入範圍的params[:range_clicked]值爲true,否則,它的nil

+0

啊,聰明。謝謝! –