1

我已经尝试了所有我能想到的变体,将当前 url 路径添加到 facebook 评论 div 中的 href。为什么这不起作用?

<div class="fb-comments" data-href="<%= #{request.protocol}#{request.host_with_port}#{request.fullpath} %>" data-width="470" data-num-posts="2"></div>

我也试过这个,但红宝石注入代码的结尾似乎以这种方式结束了 div:

<div class="fb-comments" data-href=<%= "#{request.protocol}#{request.host_with_port}#{request.fullpath}" %> data-width="470" data-num-posts="2"></div>
4

2 回答 2

2

以另一种方式发布以防有人需要它,您在第一次尝试时就接近了,不需要 #{} 因为它已经在 <%= %> 内

这对我有用:

<div class="fb-comments" data-href="<%= request.protocol + request.host_with_port + request.fullpath %>" data-width="470" data-num-posts="10"></div>

但是,我使用这种方法检索时遇到了一个小问题,current_url因为 URL 中的任何参数都会影响注释的附加位置

例如,将存储与我不想要的http://localhost:3000/users/1?locale=en不同的评论!http://localhsot:3000/users/1?locale=ar

所以,我发现使用request.path而不是full_path解决这个问题:

<div class="fb-comments" data-href="<%= request.protocol + request.host_with_port + request.path %>" data-width="470" data-num-posts="10"></div>
于 2013-06-20T15:21:48.307 回答
1

我需要使用转换原始 facebook 评论 div 的 content_tag:

<div class="fb-comments" data-href="http://example.com" data-width="470" data-num-posts="2"></div>

进入这个:

<%= content_tag(:div, nil, :class => 'fb-comments', "data-href" => "#{request.protocol}#{request.host_with_port}#{request.fullpath}", "data-width" => '470', "data-num-posts" => "2"  ) %>
于 2012-12-21T20:12:10.193 回答