Rails帮助方法中的当前视图文件

时间:2008-12-02 13:13:42

标签: ruby-on-rails file templates erb activeview

是否有某种方法可以确定辅助方法中Rails(2.2)当前正在呈现的文件。一个示例结果是“/sessions/new.html.erb”或类似的东西。

我正在尝试编写一个帮助函数,该函数根据正在呈现的文件名执行某些操作,因此我需要一种可靠的方法来获取此信息。是否有正式的方法来获取此信息?

2 个答案:

答案 0 :(得分:1)

我现在有这个非常难看的解决方案。谁有更好的主意?


begin
  raise "Nasty hack"
rescue 
  render = $@.detect { |bti| /\/app\/views\/(.+)\:\d+\:in \`_run_erb_/ =~ bti }
  return $1
end

答案 1 :(得分:1)

在Rails 2.2中,您可以使用@template.template