链接到同一行前面的图标

时间:2014-05-03 00:29:00

标签: ruby-on-rails ruby erb

所以我有这个代码,我想使用link_to转换为rails:

<a href="#">
 <i class="icon-caret-right"></i>
 <span>Home</span>
</a>

在两者之间给出一个很好的格式化空间:&gt;家

获得与我测试的结果相同的最接近的代码是:

<%= link_to "Factcars", root_path, class: "icon-caret-right" %>

这给了我(中间没有空格):&gt;主页

<i class="icon-caret-right" ><%= link_to content_tag(:span, "Factcars"), root_path %></i>

给出相同的结果:&gt;主页

是否有正确的格式化此代码的方法?

2 个答案:

答案 0 :(得分:4)

link_to

中传递阻止
<%= link_to "#" do %>
  <i class="icon-caret-right"></i>
   <span>Home</span>
<% end %>

取决于linkname,修改上述方法。

答案 1 :(得分:0)

导航助手在Spree::Admin gem的模块中为link_to_with_icon定义了一种简单方法

#link_to_with_icon(icon_name, text, url, options = {}) ⇒ Object

您可以在自己的帮助器中重新定义该方法

def link_to_with_icon(icon_name, text, url, options = {})
  options[:class] = (options[:class].to_s + " fa fa-#{icon_name} icon_link with-tip").strip
  options[:class] += ' no-text' if options[:no_text]
  options[:title] = text if options[:no_text]
  text = options[:no_text] ? '' : raw("<span class='text'>#{text}</span>")
  options.delete(:no_text)
  link_to(text, url, options)
end