5

我想使用 Twitter Bootstrap 弹出框来显示用户头像和电子邮件地址,并有可能在以后添加更多详细信息。

我在获取部分内容以在链接的内容字段内呈现时遇到问题。视图代码如下(在 HAML 中)。

%span.comment-username
    =link_to comment.user_name, "#", "title" => comment.user_name,
      "data-content" => "=render 'users/name_popover'", 
      class: "comment-user-name"

目前,这只会将内容代码生成为字符串。

有没有办法做到这一点,所以将插入部分而不是代码作为字符串?

4

2 回答 2

10

您希望 rails 实际评估字符串的内容,而不仅仅是显示字符串。最简单的方法是:

%span.comment-username
  =link_to comment.user_name, "#", "title" => comment.user_name,
    "data-content" => "#{render 'users/name_popover'}", 
      class: "comment-user-name"

这应该将渲染语句传递给 rails 并按预期渲染您的部分。

于 2012-09-18T02:57:09.330 回答
1

感谢 jrc 的回答 - 它帮助我找到了解决方案。

我的解决方案可能对像我这样的其他非 HAML 人员有用:

`<%= link_to('Service History' , '#', :class => "popover-history", :rel => "popover", :"data-placement" => "bottom", :title => "Service History", :"data-content" => "#{render 'services/service_history'}") %>`

`$(function () {
$('.popover-history').popover({ html : true });
});`
于 2015-09-14T06:16:46.057 回答