获取相应控制器操作视图文件的路径

har*_*nsa 4 ruby-on-rails ruby-on-rails-4

通常rails会自动渲染与控制器和动作相对应的文件.例如一个动作indexTestController可能使文件app/views/test/index.html.erb.有没有动态的方法可以获取相应的动作视图文件的路径?例如,如果我有test#something想要的话app/views/test/something.html.erb.

And*_*eko 6

有可能的.查看LookupContextview_renderer.

在控制器的动作中:

lookup_context.find_template("#{controller_path}/#{action_name}").identifier
Run Code Online (Sandbox Code Playgroud)

在视图内:

@view_renderer.lookup_context.find_template(@virtual_path).identifier
Run Code Online (Sandbox Code Playgroud)