我可以做request.path_parameters ['controller']和request.path_parameters ['action'],但是有什麼像request.path_parameters ['template'],所以我可以辨別哪個模板文件(如index.html。 erb)正在渲染?在Rails中是否有一個變量等同於正在呈現的模板?
我正在寫自動套在身上ID爲模板的方法被呈現,便於操控的CSS:
class ApplicationController < ActionController::Base
...
after_filter :define_body_selector
...
def define_body_selector
# sets @body_id to the name of the template that will be rendered
# ie. if users/index.html.erb was just rendered, @body_id gets set to "index"
@body_id = ???
end
...
謝謝,samuil。但params [:action]不能正常工作,因爲雖然有時「show」動作會呈現「show」頁面,但有時「update」動作也會呈現「show」頁面。我需要一種方法將
明確設置爲所呈現模板的名稱(不管操作如何)。 「content_for」是一種解決方法,它使我能夠在每個模板文件中顯式設置主體ID,但需要在創建的每個模板文件中重複插入該行。 – 2010-06-03 22:59:55我有一個稍微不同的情況下,在我的情況下,有幾個theme_paths添加到模板解析器,並基於模板可用性模板從主題1或主題2等摘取,我想知道它在哪裏是theme2/theme1 – 2016-01-05 04:41:15