如何知道Rails上html字段的id 3

How to know ids for html fields on Rails 3?

本文关键字:id 字段 html 何知道 Rails      更新时间:2023-09-26

阶段:我使用的是嵌套模型,假设我们有两个模型:personcar。这里有new.html.erb页面:

<%= form_for(@person do |f| %>
  ...
  <%= f.fields_for :cars do |car| %>
    <div class="field">
      <%= car.label :color %><br />
      <%= car.text_field :color, :maxlength => 7 %>
    </div>
  <% end %>
  ...
<% end %>

此代码将为每辆车生成:

<form ...>
  ...
  <div class="field">
    <label for="person_cars_attributes_0_color">Car color</label><br />
    <input id="person_cars_attributes_0_color" 
           name="person[cars_attributes][0][color]" 
           size="7" type="text" />
  </div>
  ...
</form>

现在假设我们需要为每个输入字段放入一些javascript代码,以生成如下内容:

    <script type="text/javascript">
      $(document).ready( function() { $('#person_cars_attributes_0_color').mycolorpicker(); });
    </script>
    <input id="person_cars_attributes_0_color" 
           name="person[cars_attributes][0][color]" 
           size="7" type="text" />

注意,我们需要在javascript代码输入字段id中(在本例中为person_cars_attributes_0_color(。

问题:如何为生成的每个html字段获取此id值?

非常感谢你的帮助。如果你需要更多的细节,请随时问我。

给有问题的字段分配一个您在处理前确定的ID或类如何?

new.html.erb:

<%= form_for(@person do |f| %>
  ...
  <%= f.fields_for :cars do |car| %>
    <div class="field">
      <%= car.label :color %><br />
      <%= car.text_field :color, :maxlength => 7, :class => 'colorpicker' %>
    </div>
  <% end %>
  ...
<% end %>

JavaScript:

$(document).ready(function() {
  $('.colorpicker').mycolorpicker();
});

我强烈建议您查看Ryan Bates的nested_form宝石。我认为它会处理你想要做的一切。