gpt4 book ai didi

javascript - rails : Accessing instance variable from not inline JS

转载 作者:行者123 更新时间:2023-11-30 13:21:54 25 4
gpt4 key购买 nike

我在 .html.erb 文件中有这段代码:

<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<script>
FB.Event.subscribe('edge.create',
function(response) {
send_fb_like();
}
);
FB.Event.subscribe('edge.remove',
function(response) {
send_fb_unlike();
}
);
function send_fb_like()
{
var business_name = '<%= @consumer.name %>';
alert("You liked"+consumer_name);
}
function send_fb_unlike()
{
var business_name = '<%= @consumer.name %>';
alert("You unliked"+consumer_name);
}

</script>

这工作正常,我可以正确访问 @consumer.name。但是,如果我将其更改为:

facebook_consumer.js 看起来像这样:

$(function(){

FB.Event.subscribe('edge.create',
function(response) {
send_fb_like();
}
);
FB.Event.subscribe('edge.remove',
function(response) {
send_fb_unlike();
}
);
function send_fb_like()
{
var business_name = '<%= @consumer.name %>';
alert("You liked"+consumer_name);
}
function send_fb_unlike()
{
var business_name = '<%= @consumer.name %>';
alert("You unliked"+consumer_name);
}


});

它将转储这个:

您喜欢 <%= @consumer.name %> .我试过将文件保存为 js.erb,但它似乎不知道@consumer 是什么。

关于什么是最佳方法有什么想法吗?

最佳答案

您最好的选择可能是创建一个应用范围内的 JS 对象来存储您需要的值。在页面顶部,您可以向该对象添加元素,它们将可用于您的链接脚本。

<script type="text/javascript">
app = app || {}
app.keyName1 = "<%= @variable1 %>";
app.keyName2 = "<%= @variable2 %>";
</script>

关于javascript - rails : Accessing instance variable from not inline JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9984224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com