有什么内置选项可以从Rails助手生成HTML?

时间:2013-05-25 03:46:18

标签: ruby-on-rails haml partial-views view-helpers

在我的项目中,我正在使用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有哪些内置选项可以用于此目的?

1 个答案:

答案 0 :(得分:1)

Rails在ActionView::Helpers::TagHelper中有content_tagtag

  

提供在无法使用Builder时以编程方式生成HTML标记的方法。

例如:

def social_network(name, klass)
  link_to(...) do
    content_tag(:span, name)
    tag(:span, class: klass)
  end
end