【发布时间】:2008-12-02 13:13:41
【问题描述】:
是否有某种方法可以确定 Rails (2.2) 当前正在帮助方法中呈现的文件。一个示例结果是“/sessions/new.html.erb”或类似的东西。
我正在尝试编写一个辅助函数,该函数根据正在呈现的文件名执行某些操作,因此我需要一种可靠的方法来获取此信息。有没有官方的方式来获取这些信息?
【问题讨论】:
标签: ruby-on-rails file templates erb activeview
是否有某种方法可以确定 Rails (2.2) 当前正在帮助方法中呈现的文件。一个示例结果是“/sessions/new.html.erb”或类似的东西。
我正在尝试编写一个辅助函数,该函数根据正在呈现的文件名执行某些操作,因此我需要一种可靠的方法来获取此信息。有没有官方的方式来获取这些信息?
【问题讨论】:
标签: ruby-on-rails file templates erb activeview
在 Rails 2.2 中,您可以使用 @template.template
【讨论】:
我现在有了这个极其丑陋的解决方案。谁有更好的主意?
begin
raise "Nasty hack"
rescue
render = $@.detect { |bti| /\/app\/views\/(.+)\:\d+\:in \`_run_erb_/ =~ bti }
return $1
end
【讨论】: