Templates 从rails 3中的视图获取模板名称

Templates 从rails 3中的视图获取模板名称,templates,ruby-on-rails-3,Templates,Ruby On Rails 3,在rails 2中很容易。视图中有可用的模板变量。现在我找不到得到它的方法 使用以下内容呈现dashboard.html.erb: 应产生: dashboard.html.rb您可以显示当前控制器和操作的可能模板: <%= lookup_context.find_all(params[:action], params[:controller]).inspect %> 这仅适用于未手动指定模板的情况。您可以使用以下内容显示呈现标记的文件名: <%= __FILE__ %&

在rails 2中很容易。视图中有可用的模板变量。现在我找不到得到它的方法

使用以下内容呈现dashboard.html.erb:

应产生:
dashboard.html.rb

您可以显示当前控制器和操作的可能模板:

<%= lookup_context.find_all(params[:action], params[:controller]).inspect %>


这仅适用于未手动指定模板的情况。

您可以使用以下内容显示呈现标记的文件名:

<%= __FILE__ %>

或将其作为注释嵌入:

<!-- <%= __FILE__ %> -->


但是,这必须存在于源文件中(根据OP示例,在dashboard.html.erb文件中)。如果您试图将其封装在一个方法中,它将提供定义该方法的源文件的名称。(这至少适用于3.2.8)

我现在无法尝试,因为它不在工作中。但我认为可能的模板可能是错误的。是否没有获得刚渲染的模板的解决方案?我已经检查了请求和上下文变量,但没有发现任何内容。好处是,在应用程序布局中,您可以获得正在呈现的视图的文件名。来自@George Shaw的答案对于OP的问题是一个更好的答案,但这个答案也与一些读者(例如我)相关。酷,有人知道我如何获得视图文件夹中所有模板的列表吗?