Rails:显示包含链接的工具提示

时间:2014-04-23 11:13:25

标签: ruby-on-rails

我的rails应用程序中有以下图像标记 -

<%= link_to image_tag("../../qn/ads.svg"),{:controller => 'cp_details',:action => 'index', :id => empid, :cp => @cmpny.id }, :title=>"company", :class => 'butn' %>
<%= link_to image_tag("../../qn/users.svg"),{:controller => 'groups',:action => 'index', :id => empid, :cp => @cmpny.id }, :title=>"groups", :class => 'butn' %>
<%= link_to image_tag("../../qn/dp.svg"),{:controller=>'dep',:action => 'index', :id => empid, :cp => @cmpny.id,:type=>'dp' }, :title=>"dept", :class => 'butn' %>`

现在我正在尝试使用上面的链接实现工具提示弹出窗口(单击或悬停时)。任何人都可以帮我在工具提示弹出框中实现包含三个链接公司,组,部门的工具提示吗?我提到并尝试了以下内容 -

https://gist.github.com/davidjsevans/5617391

Bootstrap Tooltip in Ruby on Rails

Using Tooltips with link_to (Ruby on Rails 3.2.3)

http://archive.railsforum.com/viewtopic.php?id=28485

但我想我不知道如何在我的应用中实现这些。我在application.js中尝试了js和jquery,在employ/index.html中尝试了link_to代码。我尝试在link_to语句中实现它,如下所示:

<%= link_to image_tag("../../qn/ads.svg"),{:controller => 'cp_details',:action => 'index', :id => empid, :cid => @cmpny.id }, :title=>"company", :class => 'butn tag-tooltip', tag, :data => {:toggle=>"tooltip"},'data-original-title' => "Hello",'data-placement' => 'right'%>`

使用Javascript:

$(document).on("ready page:change", function() {
    $('.tag-tooltip').tooltip();
});

然后我也尝试了这个:

<div id="tooltipelement">
    <a href="#" onclick="javascript:window.location = '/cp_details/index/<%=empid%>?cp=<%=@cmpny.id%>'">Company</a>
</div>

的CSS:

.tooltipelement{
    width: 20px;
    height: 20px;
    background: red;
}

.tooltipelement a {
    display: none;
    padding-left: 30px;
}

.tooltipelement:hover a {
    display: block;
    background: green;
}

但所有这些对我来说都不起作用,因为我不知道如何正确实施它们。我希望所有三个链接都出现在工具提示弹出框中。谁能帮帮我吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

我认为您最好使用bootstrap popover plugin - 工具提示主要用于将链接的title属性转换为基于javascript的工具提示


您遇到的问题是您尝试将链接等包含在工具提示中。工具提示仅供文本使用,并且当popovers支持HTML时,您应该能够在每个工具提示中包含链接

根据bootstrap website提供的信息,您最好这样做:

<%= link_to "link", path(), class: class="butn", data: { toggle: "popover", content: popover_links } %>

#app/helpers/application_helper.rb
def popover_links
    link_to( "something", something_path ) +
    link_to( "something", something_path )
end

参考:What is the best way to return multiple tags from a Rails Helper?