Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将变量传递到自定义模板-rails_Javascript_Ruby On Rails_Ruby - Fatal编程技术网

Javascript 将变量传递到自定义模板-rails

Javascript 将变量传递到自定义模板-rails,javascript,ruby-on-rails,ruby,Javascript,Ruby On Rails,Ruby,在我的控制器中,我将变量@template存储在一些视图中,设置一个测试变量并期望得到一些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.e

在我的控制器中,我将变量
@template
存储在一些视图中,设置一个测试变量并期望得到一些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
然后我将此变量传递给
某个_file.js.erb
,并调用:

$("body").append('<%= escape_javascript(@template) %>');
$(“正文”)。附加(“”);

假设在我输入的
@tempate
中,
@test
为空。为什么会这样?

在文档()之后,
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\u var
应该在相应的部分中可用。

因为您的上下文不提供对@test variableAh的访问。好吧,我更了解,有没有办法做到这一点?阅读文档:第二个参数是assign,听起来像是一个hint感谢您,它工作了!你能把它贴出来作为答复吗