【问题标题】:Padrino doesn't see SCSS帕德里诺没有看到 SCSS
【发布时间】:2012-07-01 01:09:49
【问题描述】:

宝石文件:

# Component requirements
gem 'bcrypt-ruby', :require => "bcrypt"
gem 'sass'
gem 'haml'
gem 'coffee-script'
gem 'activerecord', :require => "active_record"
gem 'sqlite3'
# Test requirements
# Padrino Stable Gem
gem 'padrino', '0.10.7'

application.haml:

= stylesheet_link_tag 'reset'
= stylesheet_link_tag 'application'

样式表位于 public/stylesheets/application.scss

帕德里诺开始...

当我刷新页面终端写:

DEBUG -      GET (0.0009ms) /stylesheets/application.css?1340975740 - 404 Not Found
[2012-06-29 17:15:40] WARN  Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true

请帮帮我。

【问题讨论】:

    标签: ruby sass padrino


    【解决方案1】:

    Padrino v. 0.13.1 有点不同

    我创建了文件 config/initializers/sass.rb 就像在 smokycat 的回答中一样。

    module ScssInitializer
      def self.registered(app)
        require 'sass/plugin/rack'
        Sass::Plugin.options[:syntax] = :scss
        Sass::Plugin.options[:template_location] = Padrino.root("app/stylesheets")
        Sass::Plugin.options[:css_location] = Padrino.root("public/stylesheets")
        app.use Sass::Plugin::Rack
      end
    end
    

    但我还是遇到了一些问题,例如:

    ERROR -  NameError - uninitialized constant YourAppName::App::SassInitializer:
      /Users/user/your_app/join/app/app.rb:3:in `<class:App>'
    ERROR -  NameError - uninitialized constant YourAppName::App::SassInitializer:
      /Users/user/your_app/join/app/app.rb:3:in `<class:App>'
    

    我发现你必须添加到 config/boot.rb

    Padrino.dependency_paths.unshift Padrino.root('config/initializers/*.rb')
    

    在 sass 与 padrino 一起工作之后

    【讨论】:

      【解决方案2】:

      我的 Padrino 版本是 0.11.2

      我创建了一个带有“-c scss”选项的项目

      padrino-gen project mainsystem -a mysql -d datamapper -t rspec -s jquery -e haml -c scss -m mocha
      

      我的 Gemfile 中有一行“gem 'sass'”,还有一个文件 lib/scss_init.rb 这样

      module ScssInitializer
        def self.registered(app)
          # Enables support for SCSS template reloading in rack applications.
          # See http://nex-3.com/posts/88-sass-supports-rack for more details.
          # Store SCSS files (by default) within 'app/stylesheets'
          require 'sass/plugin/rack'
          Sass::Plugin.options[:syntax] = :scss
          Sass::Plugin.options[:template_location] = Padrino.root("app/stylesheets")
          Sass::Plugin.options[:css_location] = Padrino.root("public/stylesheets")
          app.use Sass::Plugin::Rack
        end
      end
      

      我把app/stylesheets/foo.scss和访问localhost:3000/stylesheets/foo.css,public/stylesheets/default.css就生成了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-05
        • 1970-01-01
        • 1970-01-01
        • 2014-03-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多