Rails 突然尝试渲染 ERB 而不是 Haml,我不知道为什么。我创建了新的 Rails 项目,重新安装了 Haml,并重新安装了 Rails。
这正是我在制作应用程序时采取的步骤(Rails 2.3.2):
rails> rails test
rails> cd test
rails\test> haml --rails .
rails\test> ruby script\generate model user email:string password:string
rails\test> ruby script\generate controller users index
rails\test> rake db:migrate
这是 UsersController 的样子:
class UsersController < ApplicationController
def index
@users = User.all
end
end
我的路线:
ActionController::Routing::Routes.draw do |map|
map.resources :users
end
我现在创建views\users\index.html.haml:
%table
%th(style="text-align: left;")
%h1 Users
- for user in @users
%tr
%td= user.email
%td= user.password
Annnd 运行服务器...我导航到localhost:3000\users并收到以下错误消息:
Template is missing
Missing template users/index.erb in view path app/views
出于某种原因,Rails 试图查找和呈现 .erb 文件而不是 .haml 文件。 vendor\plugins\haml\init.rb存在,未受影响。
我已经多次重新安装了 Haml (Pretty Penny),但仍然得到相同的结果。我也尝试将 config.gem 'haml' 添加到我的 environment.rb 中,但这也不起作用。
我不明白为什么突然 rails 不会为我渲染 haml。