使用全局变量从render_to_string输出内容

问题描述 投票:1回答:1

我在Controller内,这里有一个将信息保存在全局变量内的方法,如下所示

@var = "test"

现在,当我想渲染视图文件时,我正在使用以下代码

MyController.new.render_to_string(:template => 'folder/file.erb', :layout => false)

我遇到的问题是,在[[file.erb内部,由于某种原因它无法访问变量@ var。代码如下:

<% @var.each do |v| %> <% end if [email protected]? %>
哪个返回null作为其内容。我该如何解决?
ruby-on-rails ruby controller erb
1个回答
0
投票
然后将其作为局部变量var(没有@)进行访问。

[如果您想做一些Rails的魔术,应该指出定义@var的动作:MyController.new.render_to_string(:template => 'folder/file.erb', :layout => false, :action => 'your_action_name')因此,Rails将能够在视图中重用您的变量

© www.soinside.com 2019 - 2024. All rights reserved.