Ear*_*rlz 2 ruby-on-rails activeview
好吧,我有一个小项目,我已经制作了两个不同的脚手架.在布局目录中,有两个不同的layout.html.erb文件.
我的问题是如何将其压缩为两个脚手架视图共享的一个主要布局文件.
基本上我这样做的目的是让我只需要将导航栏和标题以及其他类似的东西放在一个地方.
如果您将布局文件命名为application.html.erb,那么它将是默认布局文件.如果使用控制器的相同名称指定布局文件,则将覆盖默认布局.
来自Rails指南:
要查找当前布局,Rails首先在app/views/layouts中查找与控制器具有相同基本名称的文件.例如,从PhotosController类渲染动作将使用app/views/layouts/photos.html.erb(或app/views/layouts/photos.builder).如果没有这种特定于控制器的布局,Rails将使用app/views/layouts/application.html.erb或app/views/layouts/application.builder.如果没有.erb布局,Rails将使用.builder布局(如果存在).Rails还提供了几种方法来更精确地为特定控制器和操作分配特定布局.
来源:http://guides.rails.info/layouts_and_rendering.html
编辑:
我应该补充一点,您可以在Application Controller中指定任何布局作为默认布局:
class ApplicationController < ActionController::Base
layout 'some_layout_name'
end
Run Code Online (Sandbox Code Playgroud)
这将覆盖rails自动执行的名称匹配.
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
2545 次 |
| 最近记录: |