link_to选项

Dev*_*tel 16 ruby-on-rails twitter-bootstrap

所以我想把它变成一个link_to链接:

<a class="dropdown-toggle" data-toggle="dropdown" href="#">Sign-In <b class="caret"></b></a>
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有这个,但无法弄清楚如何处理<b class="caret"></b>.我在最后尝试了一个do块link_to,但只是出错了.

<%= link_to "Sign-In", new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} %>
Run Code Online (Sandbox Code Playgroud)

我刚开始学习Rails,并且已经四处搜索(包括阅读RoR API文档),但没有任何工作.谢谢您的帮助!

My *_*God 38

link_to你提供的是在背景方面没有问题.

让我告诉你它是什么:

这是你提到的链接:

<%= link_to "Sign-In", new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} %>
Run Code Online (Sandbox Code Playgroud)

这是由上面的link_to形成的相应html链接:

<a href="users/sessions/new" class="dropdown-toggle" data-toggle="dropdown">Sign-In</a>
Run Code Online (Sandbox Code Playgroud)

现在考虑这个链接:

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

以上链接将为您提供以下html链接:

<a class="dropdown-toggle" data-toggle="dropdown" href="users/sessions/new">Sign-In<b class= 'caret'></b></a>
Run Code Online (Sandbox Code Playgroud)

现在你几乎接近你的结果了.唯一的问题是href.

好的,让我们link_to通过改变href路径来修改上面的一点-

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

生成的链接现在等同于您想要的内容:

<a href="#" class="dropdown-toggle" data-toggle="dropdown">Sign-In<b class= 'caret'></b></a>
Run Code Online (Sandbox Code Playgroud)


小智 11

如果提供一个块,则省略第一个参数(通常是a标记的内容),它将被块生成的内容替换.

<%= link_to new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} do %>
  Sign-In <b class="caret"></b>
<% end %>
Run Code Online (Sandbox Code Playgroud)