0

阶段:我正在使用嵌套模型,假设我们有两个模型: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 值?

非常感谢您的帮助。如果您需要更多详细信息,请随时问我。

4

2 回答 2

1

我强烈建议您查看 Ryan Bates 的nested_form gem。我认为它会照顾你想要做的一切。

于 2011-10-10T17:52:03.013 回答
1

如何为相关字段分配您事先确定的 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();
});
于 2011-10-11T01:58:06.527 回答