好的,我有index.html.erb
。在其中我有一个菜单,我从_menu.html.erb
和div渲染,在其中我通过在我的控制器中使用show action从show.html.erb
渲染链接。链接由<%=link_to h(@link), h(@link) %>
(来自show.html.erb的代码)显示。
在其中呈现链接的Div通常会被$('#div_with_link').load('controller/show');
刷新,因此@link会发生很大变化。
问题是,我不知道,我应该把什么放在我的twitter按钮文本区域。我希望人们能够分享当前的链接。我已经尝试了data-text="<%=@video %>"
,但是只是显示了我网页上的链接,而不是生成的链接。
我应该怎么做,将生成的链接放在我的推特按钮中?任何建议都会有所帮助,谢谢你提前。
答案 0 :(得分:2)
好吧,如果你使用twitter的默认按钮,这将很难实现。我建议只需构建your own button并通过Javascript(包括上述参数)更新此链接的href
属性。这里有一些代码可以帮助您入门:
使用此按钮代替您的Twitter按钮并相应地设置样式:
<a href="http://twitter.com/share" id="tweet">Tweet</a>
每次在div中加载新内容时,请设置新的URL(如果需要,还可以设置其他参数),例如像这样:
// not knowing your app, I'm just guessing here:
var twitterParams = {
url: <%= url_for(@video) %>,
text: <%= @video.title %>
};
$('#tweet').attr('href', "http://twitter.com/share?" + $.param(twitterParams));
你可以这样做,例如在您通过AJAX加载新内容时返回的HTML片段。