2013-01-15 43 views

回答

3

全路徑名

視野範圍內的環境:

<%= @view_renderer.lookup_context.find_template(@virtual_path).identifier %> 
在Rails 3的當前模板

在控制器操作:

# example 

def index 
    @template_path = lookup_context.find_template("#{controller_path}/#{action_name}").identifier 
end 
+0

非常酷豆。謝謝。效果很好。 – gangelo

1

在控制器動作中很難做到這一點,我甚至不確定這是可能的,因爲控制器操作不知道將渲染哪個視圖(如果有的話),因爲重定向是可能的。但鑑於你知道視圖的文件擴展名,並假設它的命名一樣的動作,你可以這樣做:

Rails.root.join("app", "assets", "views", controller_name, action_name + ".html.erb").to_s 

在視圖裏,你可以這樣做:

<%= __FILE__ %> 
相關問題