如何在 Rails ERB 文件的渲染部分 url 中访问 java 脚本变量?

Posted

技术标签:

【中文标题】如何在 Rails ERB 文件的渲染部分 url 中访问 java 脚本变量?【英文标题】:How to access a java script variable in render partial url of Rails ERB file? 【发布时间】:2020-07-15 16:07:29 【问题描述】:

我在 Rails 应用程序的results.js.erb 中有以下代码,我需要使用字符串插值概念动态呈现部分 URL。我无法在渲染中动态插入 selector 值。非常感谢解决此问题的任何帮助。提前致谢。

var selector =  = 'rc'  // possible values rc,mc.vc....
$("div.enroll-item div." + selector + "-item").empty().html('<%= j render "test/health_check/#selector_check", text_helper: text_helper  %>');

【问题讨论】:

var selector 定义 javascript 变量。您引用的 selector 局部变量未按照上述 sn-p 定义。有没有遇到什么错误? @AmitPatel 我想在渲染中使用 Javascript 变量而不是 ruby​​ 变量。我尝试将其作为#selector ruby​​ 局部变量,但它显示未定义的局部变量。有没有另一种动态添加javascript变量的方法 【参考方案1】:

您可以改为定义一个 ruby​​ 变量,以便在呈现 results.js.erb 文件时使用。

<% ruby_selector = 'rc' %>
var selector =  '<%= ruby_selector %>'
$("div.enroll-item div." + selector + "-item").empty().html('<%= j render "test/health_check/#ruby_selector_check", text_helper: text_helper  %>');

【讨论】:

以上是关于如何在 Rails ERB 文件的渲染部分 url 中访问 java 脚本变量?的主要内容,如果未能解决你的问题,请参考以下文章

Ruby On Rails 部分渲染

来自 application.html.erb 的 Rails 渲染实例变量

在 js.erb 中渲染 Rails 部分而不重新加载整个页面

Rails:从另一个控制器渲染 .js.erb?

Rails '.js.erb' 不呈现部分

如何渲染与 Rails 中的成员操作同名的 js.erb?