- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从 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/
我从 Ajax 调用中收到一个 google ID,然后想使用该 ID 更新我 View 中的一个按钮。 这里是 new.js.erb 中的代码,它链接到一个 new.html.erb。 问题是,我不
我是一名优秀的程序员,十分优秀!