【问题标题】:Create a variable in Ruby on Rails to use in Javascript [duplicate]在 Ruby on Rails 中创建一个变量以在 Javascript 中使用 [重复]
【发布时间】:2012-12-15 01:49:10
【问题描述】:

可能重复:
Using Ruby variable in Javascript (In App View)

有没有办法在 Ruby on Rails 视图中创建一种变量,以便稍后在 javascript 标记中使用它?

我想做这样的事情:

    <p>
    <%  test=Build.where("result = 1").count(:result) %> of the builds succeeded.
    </p>


<%= javascript_tag do %>

            console.log(test);

<% end %>

有没有办法做到这一点?这是行不通的。 提前致谢!

【问题讨论】:

  • console.log(&lt;%= test %&gt;); 变量在 eruby 上下文中,而不是 JS。一定要引用它,除非它是一个数值。
  • 哦,谢谢,对不起,我以为我已经尝试过了!我猜它适用于我更大的问题!

标签: javascript ruby-on-rails-3


【解决方案1】:

如果可能的话,我会将逻辑移到控制器中,也可以看看 gon gem:https://github.com/gazay/gon

编辑:我读错了你的问题。

# Controller
@test = Build.where("result = 1").count(:result)

# View
<%= javascript_tag do %>

    console.log(<%= @test %>);

<% end %>

【讨论】:

    【解决方案2】:

    您可以使用

    访问 erb 中的任何 ruby​​ 变量

    既然你想把它显示为一个字符串呢

    console.log('<%= Build.where("result = 1").count(:result) %>');
    

    【讨论】:

      猜你喜欢
      • 2013-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2013-11-22
      • 1970-01-01
      相关资源
      最近更新 更多