按照http://github.com/fortuity/rails3-mongoid-devise的指南,我设法用Haml,Devise和Mongoid设置Rails3。 (作为附注,该指南非常详细;建议阅读新的Rails用户!)
唯一的问题是我无法让Rails渲染我的Haml视图:
Started GET "/" for 127.0.0.1 at 2010-07-01 14:40:23 +0200
Processing by HomeController#index as HTML
MONGODB miabreto_development['users'].find({}, {})
Rendered home/index.html.haml within layouts/application (4.2ms)
Completed 200 OK in 21ms (Views: 21.0ms)
请注意,它不会返回丢失的模板错误,它只是将视图呈现为纯HTML。文件名遵循惯例:
app/views/home/index.html.haml
在Gemfile中我有:
# Bundle gems needed for Haml
gem 'haml', '3.0.13'
gem "rails3-generators", :group => :development
由于我是Rails的新手,我不确定执行路径是什么决定使用什么渲染器等等。有人可以建议我在设置中可能遗漏的内容或在哪里寻找错误吗? (这是Rails.3.beta4)
答案 0 :(得分:2)
一些事情
首先,rails会在index.html.erb中呈现它,如果它存在于views文件夹中。它会在呈现index.html.haml之前执行此操作。所以,看看你的views文件夹,如果你有一个名为index.html.erb的文件,那么只需删除它,rails应该开始为你做haml
其次,即使它确实呈现了你的文件的haml版本,它仍然会显示“由HomeController #index处理为HTML”
希望这会有所帮助,是的,这是一个很棒的教程,几天前自己阅读
PS - 两种判断模板是否正在执行haml的方法
查看输出服务器输出,您应该看到以下内容:
在布局/应用程序中呈现home / index.html.haml(42.9ms)