【问题标题】:rails 3.1, using controller/view generator getting 'uninitialized constant Haml::Rails::Application (NameError)'rails 3.1,使用控制器/视图生成器获取“未初始化的常量 Haml::Rails::Application (NameError)”
【发布时间】:2011-11-27 16:27:22
【问题描述】:

我正在尝试将 HAML 与 rails 一起使用,并使用 HAML 而不是 ERB 生成视图。

我补充说:

gem 'haml'
gem 'haml-rails'

到我的 Gemfile 并进行捆绑安装。

$ rails g controller home index
/Library/Ruby/Gems/1.8/gems/railties-3.1.3/lib/rails/script_rails_loader.rb:11: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
/Library/Ruby/Gems/1.8/gems/bundler-1.0.15/lib/bundler/runtime.rb:136: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
/Users/jrm/src/rails/haml/config/application.rb:14: uninitialized constant Haml::Rails::Application (NameError)
    from /Library/Ruby/Gems/1.8/gems/railties-3.1.3/lib/rails/commands.rb:21:in `require'
    from /Library/Ruby/Gems/1.8/gems/railties-3.1.3/lib/rails/commands.rb:21
    from script/rails:6:in `require'
    from script/rails:6

单独使用 haml gem 可以正常工作,但生成的视图是 ERB 而不是 HAML。如何配置 rails 3.1 以生成 HAML 视图?

【问题讨论】:

    标签: ruby-on-rails haml


    【解决方案1】:

    问题已解决 - 问题是我缺乏想象力让我将我的 rails 项目命名为 haml

    不是个好主意。

    1. 创建了一个新项目(不叫 haml
    2. 添加到 Gemfile:

      gem 'haml'
      gem 'haml-rails'
      
    3. Volia 视图生成为 HAML 而不是 ERB

      $ rails g controller home index
            create  app/controllers/home_controller.rb
             route  get "home/index"
            invoke  haml
            create    app/views/home
            create    app/views/home/index.html.haml
      

    【讨论】:

    • 令人惊讶的是,我做了与您完全相同的事情并遇到了完全相同的问题。对于非常懒惰或太过分的人,您也可以使用mv haml new_name 重命名您的项目并在config/application.rb 中更新名称。或者只使用“重命名”gem
    猜你喜欢
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多