答えは、より多くの jQuery になりました。これが私の解決策です。
元の形式:
<div id="int_skill_container" >
<%= f.simple_fields_for :int_skills do |skill| %>
<%= render 'int_skill_fields', :f => skill %>
<% end %>
<%= link_to_add_association "Add a Skill Pair", f, :interpreter_skills, :partial => 'int_skill_fields', :class => 'btn btn-primary' %>
</div>
フィールド:
<div class='nested-fields'>
...
<td>
<b><span class="agt_prof_slider_val"><%= f.object.proficiency or 5 %></span></b>
<%= f.input_field :proficiency, class: 'agt_prof_slider' %>
</td>
...
</div>
そしてjQuery
mySlider = $('.agt_prof_slider').slider()
mySlider.each ->
init_val = parseInt($(this).closest("td").find('.agt_prof_slider_val').text())
$(this).slider('setValue', init_val)
$('.agt_prof_slider').on 'slide', (slideEvt) ->
$(this).closest("td").find('.agt_prof_slider_val').text slideEvt.value
$('#int_skill_container').on 'cocoon:after-insert', (e, insertedItem) ->
insertedItem.find('.agt_prof_slider').first().slider()
insertedItem.find('.agt_prof_slider').first().on 'slide', (slideEvt) ->
$(this).closest("td").find('.agt_prof_slider_val').text slideEvt.value
スライダーの横に値を表示します。編集フォームでは、初期フォーム画面でこれらの値が設定されているので、それを取得して「setValue」でスライダーの初期値を設定します。
jQuery の 2 番目の部分は実際には同じですが、ネストされた変数に cocoon を使用しているため、基本的に cocoon コールバックでコードを繰り返す必要がありました。ここでは、デフォルトのスライダー値 5 で問題ありません。