0

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

4

1 回答 1

1

Rails 有content_tag并且tagActionView::Helpers::TagHelper其中

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

例如:

def social_network(name, klass)
  link_to(...) do
    content_tag(:span, name)
    tag(:span, class: klass)
  end
end
于 2013-05-25T03:56:24.343 回答