如何让Haml使用Rails?

77 ruby haml netbeans ruby-on-rails

我想让Haml使用我的Ruby on Rails项目.我是Ruby on Rails的新手,我非常喜欢它.但是,当我尝试添加一个aplication.html.hamlindex.html.haml一个视图时,我只是收到错误.

我使用NetBeans作为我的IDE.

kch*_*kch 88

Haml with Rails 3

对于Rails 3,您需要做的就是添加gem "haml", '3.0.25'到您的Gemfile.无需安装插件或运行haml --rails ..

只是:

$ cd awesome-rails-3-app.git
$ echo 'gem "haml"' >> Gemfile

而且你已经完成了.

  • 添加echo'gem"haml-rails",:group =>:development'>> Gemfile以使用haml for scaffolding作为默认选项. (2认同)

bow*_*ior 60

上面的答案是现场的.你只需要放入gem 'haml'你的Gemfile.

另外一个未提及的提示:要使用rails生成器haml代替erb,请将以下内容添加到config/application.rb:

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

  # you can also specify a different test framework or ORM here
  # g.test_framework  :rspec
  # g.orm             :mongoid
end    
Run Code Online (Sandbox Code Playgroud)

  • 或者编辑`application.rb`,你可以在`Gemfile`中将`gem'haml-rails'添加到开发组.这也将照顾发电机. (31认同)

Rya*_*ary 37

首先,将haml作为gem添加到bundler中,方法是将其添加到Gemfile:

gem "haml"
Run Code Online (Sandbox Code Playgroud)

运行bundle install,然后确保您的视图以*.html.haml扩展名命名.例如:

`-- app
    `-- views
        |-- layouts
        |   `-- application.html.haml
        `-- users
            |-- edit.html.haml
            |-- index.html.haml
            |-- new.html.haml
            `-- show.html.haml
Run Code Online (Sandbox Code Playgroud)

  • mathee,这是Rails惯例.`name.mime.format`(例如show.html.erb,show.xml.builder,show.html.haml) (12认同)
  • 为什么以.html.haml而不仅仅是.haml结束是很重要的? (4认同)
  • 如果您已经有erb模板,请将它们重命名为.html.haml.在文件的顶部告诉haml使用erb过滤器,将:erb放在文件的顶部.然后,您可以慢慢转换模板.有关过滤器的更多信息.http://haml.hamptoncatlin.com/docs/rdoc/classes/Haml.html (3认同)

Mat*_*ias 24

将haml添加到您的Gemfile:

gem "haml"
Run Code Online (Sandbox Code Playgroud)

如果您也想使用scaffold-functions,请在开发组中添加haml-rails:

gem 'haml-rails', :group => :development
Run Code Online (Sandbox Code Playgroud)

别忘了跑:

$ bundle install
Run Code Online (Sandbox Code Playgroud)


gde*_*ino 11

在尝试在rails应用程序中使用haml之前,您可以验证命令行可执行文件是否已正确安装:

$ haml
%p 
  %span Hello World!
Run Code Online (Sandbox Code Playgroud)

然后按CTRL-D,您应该看到:

<p>
  <span>Hello World!</span>
</p>
Run Code Online (Sandbox Code Playgroud)


Pet*_*ete 10

首先,确保你拥有HAML宝石.

gem list --local | grep haml
Run Code Online (Sandbox Code Playgroud)

如果haml没有显示在列表中,那么执行以下操作:

sudo gem install haml
Run Code Online (Sandbox Code Playgroud)

然后从项目目录中执行以下操作:

# cd ../
# haml --rails <yourproject>
Run Code Online (Sandbox Code Playgroud)

这应该安装你需要的一切,HAML视图应该停止抱怨并正确解析.

  • 请在安装宝石时避免使用`sudo`. (7认同)
  • 请注意,对于Rails 3,不再需要`haml --rails`.请参阅我对Rails 3 howto的回答. (2认同)