我已经开始使用新的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
答案 0 :(得分:9)
确保您的控制器继承自ApplicationController
类。
答案 1 :(得分:0)
另一种可能发生的方式是,如果您通过局部调用您的页面。部分不会触及应用程序布局,即使您在控制器内调用部分渲染也是如此。 因此,如果您需要在应用程序布局中加载文件并且它是部分文件,请将其更改为普通的html.erb,它将在应用程序布局中加载。耶!