My Rails应用程序在各种视图中多次使用此链接格式:
<li><a class="" href="#"><i class="icon-briefcase"></i> Reports</a></li>
到目前为止,我已使用以下格式转换它:
<li><%= link_to raw('<i class="icon-home"></i> Dashboard'), root_path %></li>
我可以更进一步,以某种方式重构li和i class =“icon-home”来清理代码吗?
答案 0 :(得分:1)
您可以添加辅助方法
def menu_link(text, url, icon_class)
content_tag :li do
link_to url do
content_tag(:i, '', class: icon_class) + text
end.html_safe
end
end
然后只需使用
调用它<%= menu_link 'Dashboard', root_path, 'icon-home' %>
答案 1 :(得分:1)
如果您在多个地方(DRY)使用此方法,则首选方法。查看jvnill的答案。
如果您想要一行,请点击此处:
<%= content_tag(:li, link_to(content_tag(:i, nil, class: 'icon-home'), root_path)) %>
答案 2 :(得分:-1)
这要好得多:
= link_to new_resource_path, :class=>'btn btn-primary' do
%i.icon-file-new
Add Resource