信頼できる JavaScript の動的フォームでは、ID の予測が乱雑になりすぎます。
代わりに、プロトタイプ ヘルパーとクラス名を使用して同様の機能を実現できます。
この JavaScript をページで使用できるようにします。
var myrules = {
'.highlightFeatured': function (e){
clicked_on_box = Event.element(e)
container = clicked_on_box.up('form')
box_to_modify = container.down('.featured')
new Effect.Highlight(box_to_modify)
};
};
Event.observe(window, 'load', function(){
$('fields').delegate('click', myrules);
});
そして、これらの線に沿ってビューを定義してください。偽のチェックボックスがクリックされると、特集が強調表示されます。
<% fields_for "[id][]", app do |fields| %>
<div id="fields">
<%= fields.check_box :featured, :class => "featured" %>
<%= fields.check_box :bogus, :class => "highlightFeatured" %>
...
</div>
<% end %>