在js文件中的ruby行中使用JS var

时间:2014-10-14 08:16:23

标签: javascript ruby ruby-on-rails-4 erb

我试图在ruby行中使用js var(所有这些都在js.erb文件中):

my_file.js.erb:

var x = 3;
var credit = "<%= CreditsController.some_method(x) %>";

我知道如何替换js var中的文本,但在运行ruby部分之前不知道该如何操作&lt;%=%&gt;

谢谢!

2 个答案:

答案 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 %>";