2012-03-19 56 views
2

我創建了一個Rails 3.1應用程序,我希望在我的視圖中添加一個複選框標記,用於啓用/禁用許多字段的編輯;我更好地解釋:我有一個名爲Hardware的模型,我有兩個名爲'warranty_start'和'warranty_end'的硬件字段。這是相對於這些代碼:Rails複選框啓用/禁用多個字段

<div class="group"> 
    <%= f.label :warranty_start, t("activerecord.attributes.warehouse.warrenty_start", :default => "Inizio garanzia"), :class => :label %> 
    <%= f.date_select :warranty_start, :order => [:day, :month, :year], :class => 'date_select', :start_year => Time.now.year-3, :end_year => Time.now.year + 10 %> 
    </div> 
    <span class="description">Data di inizio Garanzia</span> 
    <div class="group"> 
    <%= f.label :warranty_end, t("activerecord.attributes.warehouse.warrenty_end", :default => "Fine garanzia"), :class => :label %> 
    <%= f.date_select :warranty_end, :order => [:day, :month, :year], :class => 'date_select',:start_year => Time.now.year-3, :end_year => Time.now.year + 10 %> 
    </div> 


    <span class="description">Data di fine Garanzia</span> 

我想一個複選框,如果啓用,讓用戶選擇warranty_start和warranty_end日期。在巫婆的方式我可以嗎?

回答

2

您必須使用JavaScript。也許使用jQuery。

HTML:

<div id="warranty"> 
    <!-- Here you put inputs with warranty start and end --> 
</div> 

的JavaScript:

$('#id_of_checkbox').click(function(){ 
    $('#warranty').css('display', ($(this).is(':checked') ? 'block' : 'none')); 
}); 

在Rails你必須定義模型(變化:column_checkbox列名:

class SomeModel < ActiveRecord::Base 
    validates :warranty_start, :presence => true, :if => :warranty_want? 
    validates :warranty_end, :presence => true, :if => :warranty_want? 
    def warranty_want? 
     warranty_checkbox == true 
    end 
    # rest of your model 
end