检查Rails中是否存在布局?

Lan*_*ard 7 views ruby-on-rails

有没有一种标准方法可以检查Rails中Controller中是否存在视图布局?我试图让用户确定布局,但它需要先存在.

Jon*_*oni 25

你可以使用template_exists吗?这是存在的别名

例如: template_exists?("layout_name", "layouts")

  • 我应该在发布问题之前进行搜索.LookupContext在AbstractController :: ViewPaths中初始化,可以在控制器中作为lookup_context清楚地访问. (3认同)

Dan*_*ley 3

据我所知,没有标准的公共方式。您可以使用如下的基本调用:

layouts = Dir['app/views/layouts/*'].map {|f|
  File.basename(f, '.html.erb')  # returns 'layout' for 'layout.html.erb'
}
Run Code Online (Sandbox Code Playgroud)