在我的项目中,我正在使用HAML。我在整个项目中使用类似于以下片段的构造:
%a.social.twitter{:href => '...'}
%span.text Twitter
%span.twitter-icon
我想写一个帮助器来为我生成这个片段:
def social_network(name)
link_to(...) do
# generate span.text and span.twitter.icon
end
end
理想情况下,我不想只是将一些伪装成字符串形式的HTML传递给link_to
块。我更喜欢使用标记构建器或API。
Rails有哪些内置选项可以用于此目的?
答案 0 :(得分:1)
Rails在ActionView::Helpers::TagHelper
中有content_tag
和tag
提供在无法使用Builder时以编程方式生成HTML标记的方法。
例如:
def social_network(name, klass)
link_to(...) do
content_tag(:span, name)
tag(:span, class: klass)
end
end