gpt4 book ai didi

javascript - rails : pass data to javascript

转载 作者:行者123 更新时间:2023-12-03 00:03:05 27 4
gpt4 key购买 nike

我是 Rails 新手,我有一个 Controller :

class PagesController < ApplicationController
def home
@temp = "Hello"
end
end

我已经读到,我必须将 javascript 代码放入 application.js (告诉我是否属实),并且我已经:

window.onload=function(){alert("<%= j @temp %>")}

显然该警报打印字符串“<%= j @temp %>”如何将变量 @temp 传递给 javascript,以便警报可以打印 Hello?

谢谢

最佳答案

我在 how to pass Ruby objects to the client 上写了一篇文章。 Ryan Bates 也有一个出色的 RailsCast on passing data to JS

在 View 中添加一个与 PagesControlle#home 操作相对应的 div,该操作在加载页面时不可见,但包含存储在 Ruby 对象中的数据:

# views/pages_controllers/home.html.erb
<%= content_tag :div, class: "temp_information", data: {temp: @temp} do %>
<% end %>

加载包含此 div 的页面并查看页面源代码。您可以看到存储在 .temp_information div 中的 Ruby 对象。打开 JavaScript 控制台以将 Ruby 对象作为 JavaScript 对象进行访问:

$('.temp_information').data('temp')

您不需要将 JS 添加到 JS 部分,您也可以使用 Assets 管道。

关于javascript - rails : pass data to javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18162197/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com