我正在尝试在 Rails 3 中使用模板继承。我的 application_controller.rb 中有以下代码:
layout :set_layout
def set_layout
layout_name = Club.find(1).layout.name
prepend_view_path("views/#{layout_name}")
layout_name
end
这确实正确地将布局设置为与特定俱乐部关联的布局(在本例中称为“layout1”),但是当我尝试通过创建以下文件夹结构来覆盖视图时:
app
-views
--home
---indes.html.erb
--layout1
---home
----index.html.erb
它捕获views/home/index.html而不是views/layout1/home/index.html.erb。
当我按如下方式打印视图路径时:
<% controller.view_paths.paths.each do |t| %>
<%= t %><br>
<% end %>
它将正确的views/layout1打印为第一个,但仍然找不到正确的index.html.erb文件的内容。
在位于 layouts 文件夹中的layout1.html.erb中,我只说产量。
我是否以某种方式误解了这个概念?