所以我想把它变成一个link_to链接:
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Sign-In <b class="caret"></b></a>
到目前为止,我有这个,但无法弄清楚如何处理<b class="caret"></b>
。我在link_to
的末尾尝试了一个do块,但只是出错了。
<%= link_to "Sign-In", new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} %>
我刚刚开始学习Rails,并且已经搜索过(包括阅读RoR API文档),但没有任何工作。谢谢你的帮助!
答案 0 :(得分: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。
好的,我只需修改上面的link_to
,只需更改 href路径,因为 -
<%= 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>
答案 1 :(得分:11)
如果你提供一个块,你省略了第一个参数(通常是a标签的内容),它将被块产生的内容所取代。
<%= link_to new_user_session_path, :class => "dropdown-toggle", :data => {:toggle=>"dropdown"} do %>
Sign-In <b class="caret"></b>
<% end %>
答案 2 :(得分:0)
将链接放在容器中,它可以是div并放置class =“dropdown”。
<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>
答案 3 :(得分:0)
它必须是link_to中的数据属性
link_to remove_user_path(recipient_id: recipient.id) , method: :delete, data: {confirm: 'Are you sure you want to delete?'}