0

私は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 を正しくレンダリングし、タグを出力しないようにするにはどうすればよいですか?

4

1 に答える 1

1

常に結果をタグsimple_formatでラップします。<p>しかし、この質問への回答で述べたように、Rails 3. simple_format do not wrap result in paragraph tags<p> 、メソッドの長さはわずか9行で、一部の行を削除することでコンテンツをタグでラップしないように簡単に上書きできます。
したがって、another_simple_formatヘルパーを作成してicon_to_add_fieldsメソッドで使用でき、問題ないと思います。

于 2012-07-31T19:38:55.477 に答える