Wartość zwracana bloku staje się jego zawartością. Zwracany jest tylko ostatni wiersz.
Musisz złączyć dwa ciągi razem z +
do wytworzenia pojedynczej wartości zwracanej:
link_to("#", class: "add_fields btn btn-success") do
name + content_tag(:i, "", class: "icon-plus icon-white")
end
Musisz użyć html_safe
aby zapobiec zawartość tagu z automatycznie kodowany HTML:
link_to("#", class: "add_fields btn btn-success") do
name + content_tag(:i, "", class: "icon-plus icon-white").html_safe
end
Mówiąc z własnego doświadczenia z Twitter Bootstrap, wiem, trzeba będzie przestrzeń między name
i content_tag
:
link_to("#", class: "add_fields btn btn-success") do
name + ' ' + content_tag(:i, "", class: "icon-plus icon-white").html_safe
end
Ewentualnie, jeśli jesteś wewnątrz szablonu ERB, można wyjść z <%=
obie wartości:
<%= link_to(...) do %>
<%= name %>
<%= content_tag(...) %>
<% end %>
jeśli robię to moje przycisk wskazuje: 'foo ' – wintersolutions
Można używać bezpiecznego HTML, aby oznaczyć swoje struny jako nie wymagające kodowania HTML. – meagar
Zrobiłem to również z html_safe i nie działało, ale działa: 'link_to (" # ", class:" add_fields btn btn-success ") do (name + '' + content_tag (: i," ", : class => "icon-plus icon-white")). html_safe end' jeśli chcesz, możesz zaktualizować swoją odpowiedź, dziękuję bardzo! – wintersolutions