如何得到结茧的指标值?

How to get the index value that forms cocoon?

需要控制id(或class)形成cocoon.
使自定义 link 仅适用于正确的元素。 要link价格不显示只填写与之关联的字段new_price

我需要得到一个唯一值,它形成 cocoon

_promo_service_fields.html.haml

.nested-fields
  %p= f.select :service_id, {}, {}, {class: "service_#{f.index}"}
  %p= f.text_field :new_price
  %p= link_to "price is not displayed", '', remote: true, class: "no-price-#{f.index}"
  %p= link_to_remove_association "Удалить", f

:coffeescript
  $(".service_#{f.index}).ajaxChosen
    # minLength: 3
    dataType: 'json'
    type: 'GET'
    url:'/admin/promo_pages/search_service.json'
    data: {'keyboard':'cat'}

f.index 我得到了错误的值 (manual)

如何获得构成 cocoon 的唯一值?

如果您检查代码,cocoon 只会替换 f.index,如果它被 []_ 包围,这就是它在寻址时在表单中的使用方式嵌套的项目。

所以您 link 的 wiki(不是我写的)恰好适用于该特定情况,因为 f.index 位于方括号之间。

有点不清楚你想做什么,但有一些选择:

  • 然后使用 cocoon 回调修复您的代码(例如,根据 order/counter 分配一个唯一 ID)
  • 使用 jquery 选择器只允许 address/find nearest/closest 选择器