3

我正在尝试在我的项目中使用 haml,我有一个控制器类和一个视图模板 .html.haml

这是我的宝石文件:

source  "http://rubygems.org"
#use Haml for templates
gem 'haml' '3.1.6'
#use Ruby debugger
group :development, :test do
gem 'ruby-debug19'
end
group :assets do
gem 'therubyracer'
end

我多次运行bundle install并重新启动 rails 服务器,但 haml 甚至没有出现在bundle show中。

我使用 gem 更新了 haml,仍然没有结果。

haml --rails不起作用 - 无效选项

供应商/插件文件夹为空

如果我运行 rails server 并打开“http://localhost:3000/myindex”,我有一个控制器和一个视图模板,我得到模板错误

Missing template movies/index, application/index with {:handlers=>[:erb, :builder, :coffee], :formats=>[:html], :locale=>[:en, :en]}. Searched in:

处理程序中根本不存在haml。

我试图添加

config.generators do |g|
      g.template_engine :haml
     end

配置/application.rb。没用

在网上搜索了一整天,阅读了很多建议,但没有一个有帮助。

bundle 只是拒绝正确安装haml gem。没有将其指示为错误。它只是忽略了宝石。

哦,我在我的模板上运行了haml index.html.haml:html 已完美生成。出于测试目的,我使它非常简单。

导轨 v:3.1.0

红宝石诉:1.9.2p290

哈姆五:3.1.6

4

2 回答 2

4

使用haml-rails而不是haml. 并删除版本字符串或添加逗号:

gem 'haml-rails'
# or potentially
gem 'haml-rails', '3.1.6'
于 2012-06-08T00:24:41.530 回答
1

我找到了原因。当我不得不编辑现有的“Gemfile”时,我创建了一个新文件“gemfile”,区分大小写!所以 bundle 只是在读取错误的文件。

于 2012-06-08T00:56:24.987 回答