ruby-on-rails – 有没有办法列出Ruby ERB模板中的可用变量?
发布时间:2020-12-16 20:50:39 所属栏目:百科 来源:网络整理
导读:假设我有一个名为my_template.html.erb的Ruby ERB模板,它包含以下内容: div%= @div_1 %/divdiv%= @div_2 %/divdiv%= @div_3 %/div 有没有办法可以编程方式列出模板中的所有可用变量? 例如,以下方法: def list_out_variables template = File.open("path_t
假设我有一个名为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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |