gpt4 book ai didi

javascript - 将变量传递给自定义模板 - rails

转载 作者:太空宇宙 更新时间:2023-11-03 16:51:00 25 4
gpt4 key购买 nike

在我的 Controller 中,我在变量 @template 中存储了一些 View ,设置了一个测试变量并期望一些 js 响应

@template = ActionView::Base.new('app/views/devise/sessions', {}, ActionController::Base.new).render(file: 'new').to_s
@test="test"
respond_to do |format|
format.js {render 'layouts/some_file.js.erb'}
end

然后我将此变量传递给 some_file.js.erb 并调用:

$("body").append('<%= escape_javascript(@template) %>');

假设在@tempate中我放了<%= @test %>,那么@test为null。为什么会这样?

最佳答案

根据文档 (http://apidock.com/rails/ActionView/Base/new/class),ActionView::Base.new 的第二个参数是 assigns,它看起来像 locals 选项。

@template = ActionView::Base.new('app/views/devise/sessions', { local_var: 21 }, ActionController::Base.new).render(file: 'new').to_s

并且变量 local_var 应该在相应的部分可用。

关于javascript - 将变量传递给自定义模板 - rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21998288/

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