私はrbatesアプローチに従ってネストされたフォームを使用しています: http://railscasts.com/episodes/196-nested-model-form-revised
Twitter Bootstrap も使用しています。
Add Child
アイコン付きのボタンを追加しようとしています。そのため、 を変更しlink_to_add_fields
て名前を変更しicon_to_add_fields
ます。これは私が持っているものです...
def icon_to_add_fields(name, f, association, icon_class = '', button_color = '')
new_object = f.object.send(association).klass.new
id = new_object.object_id
fields = f.fields_for(association, new_object, child_index: id) do |builder|
render(association.to_s.singularize + "_fields", f: builder)
end
link_to("#", class: "add_fields btn #{button_color}", data: {id: id, fields: fields.gsub("\n", "")}) do
"<i class='icon-plus-sign icon-white'></i> #{name}"
end
end
<i class="icon-plus-sign icon-white"></i> Add Child
問題は、 HTML としてレンダリングする代わりに、ボタン<i class="icon-plus-sign icon-white"></i> Add Child
がその上に表示されることです。
それで、それを「修正」するために、私はsimple_format
このように追加します...
link_to("#", class: "add_fields btn #{button_color}", data: {id: id, fields: fields.gsub("\n", "")}) do
simple_format "<i class='icon-plus-sign icon-white'></i> #{name}"
end
これで、リンク内の HTML が適切にレンダリングされます。BUUUT。p
内部にタグがありますが、これは望ましくありません。
私はこれに似たものになるはずです:<a class="btn btn-primary" href="#"><i class="icon-plus-sign icon-white"></i> Add Child</a>
p
この関数を修正して、HTML を正しくレンダリングし、タグを出力しないようにするにはどうすればよいですか?