gpt4 book ai didi

javascript - 通过 render_javascript 将 javascript 变量传递给 partial

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

我从 Ajax 调用中收到一个 google ID,然后想使用该 ID 更新我 View 中的一个按钮。

这里是 new.js.erb 中的代码,它链接到一个 new.html.erb。

问题是,我不知道如何传递变量的内容。餐厅是一个 json。警报返回正确的 ID,当我使用返回的谷歌 ID 在终端上搜索我的数据库时,我找到了餐厅。

代码如下:

alert(restaurant["google_id"]);
var google_id = restaurant["google_id"];
$("#rating_bar").html("<%= escape_javascript(render 'reviews/buttons/full_profile_rate_restaurant', :google_id => "+google_id+".html_safe) %>");

发生的情况是传递的变量是字符串“google_id”,而不是字母和数字的组合,即 google ID。我尝试了多种方法,这只是许多错误方法中的一种 - 我认为这个问题对于真正了解 JS 的人来说非常简单。

最佳答案

无法将 JS 变量传递给 ruby​​ 部分。

作为Ryan Bigg针对同类型问题的解释here ,不可能在渲染该部分时发送变量。我们需要解决其他问题。甚至我也有过同样的问题。

或者,

如果 google_id 只是一个显示在部分中的变量,则在呈现该部分后手动更新这些 div。

喜欢

$("#rating_bar").html("<%= escape_javascript(render 'reviews/buttons/full_profile_rate_restaurant', :google_id => "sample_id") %>");
// Now update the required elements
$("#what-ever-ids").text(google_id);

或者只是在该 Controller 中创建一些其他操作,并调用向该操作发送 ajax 请求,然后您将拥有这个 js 变量,并在该 js.erb 文件中呈现相同的部分您实际上想要使用 google_id 变量更新。

关于javascript - 通过 render_javascript 将 javascript 变量传递给 partial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15590837/

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