Rails - 在Twitter Bootstrap popover中部分渲染

jmc*_*jmc 5 ruby-on-rails twitter-bootstrap

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

我有一个问题是在链接的内容字段内部分渲染.视图代码如下(在HAML中).

%span.comment-username
    =link_to comment.user_name, "#", "title" => comment.user_name,
      "data-content" => "=render 'users/name_popover'", 
      class: "comment-user-name"
Run Code Online (Sandbox Code Playgroud)

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

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

小智 10

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

%span.comment-username
  =link_to comment.user_name, "#", "title" => comment.user_name,
    "data-content" => "#{render 'users/name_popover'}", 
      class: "comment-user-name"
Run Code Online (Sandbox Code Playgroud)

这应该将render语句传递给rails并按预期渲染部分.

  • @KyleDecot抱歉`html:true`是为了js.在html中你需要尝试`"data-html"=>"true"`. (5认同)