1

私の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"をリファクタリングして、コードをクリーンアップできますか?

4

3 に答える 3

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' %>
于 2013-03-04T02:14:19.380 に答える
1

複数の場所(DRY)でこれを使用している場合は、ヘルパー方式をお勧めします。そのためのjvnillの答えをチェックしてください。

1行が必要な場合は、次のようにします。

<%= content_tag(:li, link_to(content_tag(:i, nil, class: 'icon-home'), root_path)) %>
于 2013-03-04T02:19:43.737 に答える
-1

これははるかに優れています:

= link_to new_resource_path, :class=>'btn btn-primary' do
  %i.icon-file-new
  Add Resource
于 2013-03-04T02:26:29.073 に答える