レール3.2を使用しています。コントローラで実行されているアクションによってレンダリングされるビューのファイル名を取得できるようにしたい。ファイルの最終変更日を取得したいのですが、ビューのファイル名を動的に取得する方法がわかりません。
2 に答える
3
Rails 3の現在のテンプレートのフルパス名:
ビュー環境内:
<%= @view_renderer.lookup_context.find_template(@virtual_path).identifier %>
コントローラアクション内:
# example
def index
@template_path = lookup_context.find_template("#{controller_path}/#{action_name}").identifier
end
于 2013-01-15T11:03:20.273 に答える
1
これはコントローラーアクション内で行うのは困難であり、リダイレクトが可能であるため、コントローラーアクションはレンダリングされるビューがある場合はそれを認識しないため、それが可能かどうかさえわかりません。ただし、ビューのファイル拡張子がわかっていて、アクションと同じ名前であると仮定すると、次のように実行できます。
Rails.root.join("app", "assets", "views", controller_name, action_name + ".html.erb").to_s
ビュー内で、次のことができます。
<%= __FILE__ %>
于 2013-01-15T02:28:29.620 に答える