我试图在ruby行中使用js var(所有这些都在js.erb文件中):
my_file.js.erb:
var x = 3;
var credit = "<%= CreditsController.some_method(x) %>";
我知道如何替换js var中的文本,但在运行ruby部分之前不知道该如何操作&lt;%=%&gt;
谢谢!
答案 0 :(得分:2)
这是不可能的,因为您的文件 my_file.js.erb 将被处理为服务器端的 my_file.js ,用它提供的输出替换每个ruby代码。最后,导航器将执行javascript。
正如Stefan所说,你可以尝试通过ajax调用获取该值,或尝试在javascript中实现该函数,如果可能的话。
答案 1 :(得分:0)
你可以做的是:
信用控制器中的:
def some_method
@credit = 0
end
并在你的方法中.js.erb:
var credit = "<%= @credit %>";