simple_form自定义输入和两个具有相同ID的字段

时间:2013-12-11 11:10:43

标签: ruby-on-rails ruby simple-form

我正在尝试使用SimpleForm gem

为datepicker创建自定义输入
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

但是当生成数据时,两个输入都具有相同的ID

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

如何将ID更改为“#{original_id} _internal_format”

P.S。此输入的代码取自http://www.chadcf.com/blog/jqueryui-datepicker-rails-and-simpleform-easy-way

1 个答案:

答案 0 :(得分: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