gpt4 book ai didi

javascript - 将局部变量传递到另一个 View 的 JS - Rails

转载 作者:行者123 更新时间:2023-11-29 21:41:33 27 4
gpt4 key购买 nike

有没有办法在两个不同的 View 之间获取/获取 js 中的变量?假设我有一个索引 View :

<% foo.each do |foo| %>
<%= link_to 'bar', bar_path %>
<% end %>

然后在 bar 中,我想使用 foo.id 选择器向特定元素添加一些 jQuery:

$('div#<%= foo.id %>').fadeOut(); // I know the interpolation wouldn't work here

我知道我可以通过我的路径将 foo.id 传递给 bar 或通过 locals 散列发送它,但我如何“用 jQuery 捕获它?

最佳答案

您可以使用名为 gon 的 gem 轻松地将变量传递给 JS .

gem "gon"

你所要做的就是将这个 gem 添加到你的 Gemfile 中,然后你可以像这样在任何 Controller 中调用 gon:

class PaymentsController < ApplicationController

def new
...
gon.controller = "payments"
gon.action = "new"
gon.message = "Hello World!"
...
end
end

现在,在任何 javascript(在下面的例子中,coffeescript)你可以:

$ ->

# Check if it is the target controller and action
if gon? && gon.controller is "payments" && gon.action is "new"
alert gon.message

关于javascript - 将局部变量传递到另一个 View 的 JS - Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32686608/

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