rails不会加载视图的应用程序布局。我应该在哪里看?怎么调试?

时间:2012-03-10 08:51:26

标签: ruby-on-rails

我已经开始使用新的rails应用程序并将模板引擎从erb切换到haml。 我在ham解析器中添加了Gemfile,运行bundle install,删除了app / views / layout / application.html.erb文件,并将其替换为haml等效文件。 我没有收到任何错误消息,其他haml视图在浏览器中正确呈现,但application.html.haml中的内容被忽略:如果我查看生成页面的来源,他们会错过来自application.html.haml的标记 关于我应该在哪里看的任何想法?

application.html.haml

!!! 5
%html
  %head
    %title Title
    = stylesheet_link_tag 'application'
    = javascript_include_tag 'application'
    = csrf_meta_tags

  %body
    %h1.title Title
    #main
      - if flash[:notice]
        #notice.message= flash[:notice]
      - elsif flash[:warning]
        #warning.message= flash[:warning]

      = yield

的Gemfile

source 'http://rubygems.org'

gem 'rails', '3.1.0'

gem 'sqlite3'

group :assets do
  gem 'sass-rails', "  ~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
  gem 'therubyracer'
end

gem 'jquery-rails'

gem 'haml'

group :development, :test do
  gem 'ruby-debug19'
end

2 个答案:

答案 0 :(得分:9)

确保您的控制器继承自ApplicationController类。

答案 1 :(得分:0)

另一种可能发生的方式是,如果您通过局部调用您的页面。部分不会触及应用程序布局,即使您在控制器内调用部分渲染也是如此。 因此,如果您需要在应用程序布局中加载文件并且它是部分文件,请将其更改为普通的html.erb,它将在应用程序布局中加载。耶!