2

Gemfile:

# 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'

アプリケーション.haml:

= stylesheet_link_tag 'reset'
= stylesheet_link_tag 'application'

スタイルシートは public/stylesheet/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

お願い助けて。

4

2 に答える 2

4

私の 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が生成されます。

于 2013-06-27T23:18:05.183 に答える
1

Padrino v. 0.13.1 の場合は少し異なります

smokycatの回答と同じように、ファイルconfig/initializers/sass.rbを作成しました。

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で動作します

于 2016-07-21T14:46:23.077 に答える