我已经尝试了我能想到的每个变体,将当前的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>
答案 0 :(得分:2)
发布另一种方式以防有人需要它,你在第一次尝试时就已经接近了,不需要#{},因为它已经在&lt;%=%&gt;
内了这对我有用:
<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>
答案 1 :(得分:1)
我需要使用content_tag转换原来的facebook评论div:
<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" ) %>