Rails が突然 Haml ではなく ERB をレンダリングしようとしているのですが、その理由がわかりません。新しい 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
サーバーを実行します... localhost:3000\usersに移動すると、次のエラー メッセージが表示されます。
Template is missing
Missing template users/index.erb in view path app/views
何らかの理由で、Rails は .haml ファイルではなく .erb ファイルを見つけてレンダリングしようとしています。 vendor\plugins\haml\init.rbがそのまま存在します。
Haml (Pretty Penny) を複数回再インストールしましたが、同じ結果が得られます。config.gem 'haml' を environment.rb に追加しようとしましたが、これも機能しません。
Railsが突然hamlをレンダリングしない理由がわかりません。