在Helper中使用Rails ERB标记

时间:2016-09-01 16:25:38

标签: ruby-on-rails font-awesome

使用Rails 4.我有以下内容:

module ShopsHelper
  def edit_shop(shop)
    link_to edit_shop_path(shop), target: "_blank" do
      raw("<i class='fa fa-edit'></i> Update")
    end
  end
end

请注意,我使用<i class='fa fa-edit'></i>用于Font Awesome,但Font Awesome gem提供更清晰的<%= icon "edit" %>。如何在帮助程序中使用icon标记?

1 个答案:

答案 0 :(得分:1)

如果您按照文档中所述调用帮助程序:

icon "edit"
# => <i class="fa fa-edit"></i>

rails帮助程序可以像任何其他方法一样工作,并且在ERB模板中替换返回的值。

当您使用其中一个表单助手作为块的包装(... do%&gt;)时,rails会在块之后关闭标记。

link_to edit_shop_path(shop), target: "_blank" do
  raw("<i class='fa fa-edit'></i> Update")
end

变成:

<a .... >
  <i></i>
</a>

您应该能够替换:

<i class='fa fa-edit'></i> Update

使用:

icon "edit"
module ShopsHelper
  def edit_shop(shop)
    link_to edit_shop_path(shop), target: "_blank" do
      raw icon('edit', 'Update')
    end
  end
end
相关问题