2013-12-11 3 views
0

Я пытаюсь создать пользовательский ввод для DatePicker с помощью SimpleForm жемчужинуsimple_form пользовательских входных и два поля с одинаковым идентификатором

class DatepickerInput < SimpleForm::Inputs::Base 
    def input 
    out = '' 
    out << @builder.text_field(attribute_name, input_html_options) 
    out << @builder.hidden_field(attribute_name, { :class => attribute_name.to_s + "-alt"}) 
    end 
end 

но при генерировании данных оба входа имеют одинаковые идентификаторы

<input class="datepicker" id="performance_cycle_start_date" name="performance_cycle[start_date]" type="text"> 
<input class="start_date_internal" id="performance_cycle_start_date" name="performance_cycle[start_date]" type="hidden"> 

как могу ли я изменить идентификатор на «# {original_id} _internal_format»

PS код для этого ввода взят из http://www.chadcf.com/blog/jqueryui-datepicker-rails-and-simpleform-easy-way

ответ

0

Как говорится в блоге, мы можем дать Id, попробуйте как показано ниже. Это гарантирует, что оба поля будут иметь другой атрибут id.

class DatepickerInput < SimpleForm::Inputs::Base 
    def input 
    out = '' 
    out << @builder.text_field(attribute_name, input_html_options) 
    out << @builder.hidden_field(attribute_name, { :class => attribute_name.to_s + "-alt", :id => "#{attribute_name.to_s}_internal_format" }) 
    end 
end 
+0

Имя атрибута.to_s возвращает только имя поля, например. start_date, но исходный идентификатор также имеет название модели - performance_review_start_date – Vladimir

Смежные вопросы