Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 有没有办法列出Ruby ERB模板中的可用变量?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个名为my_template.html.erb的Ruby ERB模板,它包含以下内容:
<div><%= @div_1 %></div>
<div><%= @div_2 %></div>
<div><%= @div_3 %></div>

有没有办法可以编程方式列出模板中的所有可用变量?

例如,以下方法:

def list_out_variables
  template = File.open("path_to/my_template.html.erb","rb").read
  erb = ERB.new( template )
  erb.this_method_would_list_out_variables  
end

会返回类似的东西:

['div1','div2','div3']

任何帮助将不胜感激.

谢谢,
麦克风

解决方法

要获取.erb文件可用的变量列表(来自控制器):

在erb中添加断点:

<% debugger %>

然后在调试器中键入instance_variables以查看所有可用的实例变量.

补充:请注意,instance_variables是Ruby类Object及其所有子类中提供的方法. (正如@mikezter所指出的那样.)因此,您可以从sw中以编程方式调用该方法,而不是使用调试器,如果您真的想要.

您将获得当前对象的实例变量列表.

补充:要获取.erb文件使用的变量列表:

# <template> is loaded with the entire contents of the .erb file as
# one long String
var_array = template.scan(/(\@[a-z]+[0-9a-z]*)/i).uniq

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 有没有办法列出Ruby ERB模板中的可用变量?全部内容,希望文章能够帮你解决ruby-on-rails – 有没有办法列出Ruby ERB模板中的可用变量?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。