16

だから私はこれをlink_toリンクにしようとしています:

<a class="dropdown-toggle" data-toggle="dropdown" href="#">Sign-In <b class="caret"></b></a>

私はこれまでのところこれを持っていますが、の処理方法がわかりません<b class="caret"></b>。の最後で do ブロックを試しましたlink_toが、エラーしか発生しませんでした。

<%= link_to "Sign-In", new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} %>

私は Rails の学習を始めたばかりで、(RoR API ドキュメントを読むことを含めて) 検索しましたが、何も機能しません。助けてくれてありがとう!

4

4 に答える 4

38

あなたlink_toが提供した は、コンテキストの点では問題ありません。

それが何であるかを教えてください:

これはあなたが言及したリンクです:

<%= link_to "Sign-In", new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} %>

これは、上記の link_to によって形成された、対応する html リンクです。

<a href="users/sessions/new" class="dropdown-toggle" data-toggle="dropdown">Sign-In</a>

次に、このリンクを検討してください。

<%= link_to(raw("Sign-In" +("<b class= 'caret'></b>")), new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"}) %>

上記のリンクは、次の html リンクを提供します。

<a class="dropdown-toggle" data-toggle="dropdown" href="users/sessions/new">Sign-In<b class= 'caret'></b></a>

これで、結果にほぼ近づきました。唯一のものはhrefです。

では、 hrefパスlink_toを次のように変更して、上記を少し変更しましょう。

<%= link_to(raw("Sign-In" +("<b class= 'caret'></b>")), "#", :class => "dropdown-toggle", :data => {:toggle=>"dropdown"}) %>

生成されたリンクは、必要なものと同等になりました。

<a href="#" class="dropdown-toggle" data-toggle="dropdown">Sign-In<b class= 'caret'></b></a>
于 2013-02-27T08:39:48.567 に答える
11

ブロックを指定する場合、最初の引数 (通常は a タグの内容) を省略し、ブロックが生成するものに置き換えられます。

<%= link_to new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} do %>
  Sign-In <b class="caret"></b>
<% end %>
于 2013-02-27T06:58:30.377 に答える
0

リンクをコンテナに配置します。これはdivであり、クラス="ドロップダウン"を配置できます。

 <div class="dropdown">
    <%= link_to image_tag('icons/lock_icon.png') + " Log In" +('<b class="caret"></b>').html_safe , '#', { :class => 'dropdown-toggle', 'data-toggle' =>  'dropdown' } %>
 </div>
于 2013-02-27T07:03:42.603 に答える