Rails Checkbox для включения / выключения нескольких полей - PullRequest
2 голосов
/ 19 марта 2012

Я создаю приложение Rails 3.1 и хочу добавить в свой вид флажок, который я должен использовать, чтобы включить / отключить редактирование многих полей; Я объясню лучше: у меня есть модель с именем «Оборудование», и у меня есть два поля «Оборудование», которые называются «поручение гарантии» и «конец гарантии». и это код относительно этих:

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

Я хочу установить флажок, который, если он включен, позволяет пользователю выбирать дату для Guarantia_start и Warranty_end. В чём я могу это сделать?

1 Ответ

2 голосов
/ 19 марта 2012

Вы должны использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...