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

发布于 2024-12-31 21:20:30 字数 419 浏览 2 评论 0原文

我正在使用 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 被拾取并正确运行,但我不知道如何访问@variable。

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

I'm using Rails 3.1 and trying to add some ajax functionality (using jquery + coffeescript).

I have a respond_to block in the controller

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

and a file app/views/test/edit.coffee.js

The file edit.coffee.js is be picked up and is running correctly, but I can't work out how to access @variable from the javascript.

Is there a way to pass this variable in to the js.coffee script? or do update an element on the page so that I can access it from the js.coffee?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜警司 2025-01-07 21:20:30

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

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

Change the name of your view file to edit.coffee.js.erb and then reference @variable ERB-style in your CoffeeScript:

some_method: ->
    console.log('<%=j @variable %>')
长不大的小祸害 2025-01-07 21:20:30

在 Rails 3.2.1 中,我

edit.js.coffee

在模板中使用了 和

alert '<%=j @variable %>'

来完成这项工作。

我没有使用 .erb 后缀。

With rails 3.2.1 I used

edit.js.coffee

and inside the template

alert '<%=j @variable %>'

to make this work.

I didn't work with the .erb suffix.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文