在respond_to js文件中从控制器访问变量

时间:2012-01-29 21:54:33

标签: ajax ruby-on-rails-3 coffeescript

我正在使用Rails 3.1并尝试添加一些ajax功能(使用jquery + coffeescript)。

我在控制器中有一个respond_to块

 def edit       
    @variable = 123
    respond_to do |format|
      format.js 
    end
  end

和文件app / views / test / edit.coffee.js

文件edit.coffee.js已被选中并且运行正常,但我无法知道如何从javascript访问@variable

有没有办法将此变量传递给js.coffee脚本?或者更新页面上的元素,以便我可以从js.coffee中访问它?

2 个答案:

答案 0 :(得分:2)

将视图文件的名称更改为edit.coffee.js.erb,然后在CoffeeScript中引用@variable ERB样式:

some_method: ->
    console.log('<%=j @variable %>')

答案 1 :(得分:1)

使用rails 3.2.1我使用了

edit.js.coffee

并在模板内

alert '<%=j @variable %>'

使这项工作。

我没有使用.erb后缀。