1

Rails 3.2.11 で rake-offline を機能させるには?

初期化子を追加しました

offline = Rack::Offline.configure do
  #cache "images/masthead.png"

  public_path = Rails.public_path
  Dir[public_path.join("javascripts/*.js")].each do |file|
    cache file.relative_path_from(public_path)
  end

  network "/"
end

ルートに追加しました

match "/application.manifest" => Rails::Offline

  Rack::Offline.configure do
    cache "assets/application.js"
    cache "assets/application.css"   
    network "/"
  end

html タグにマニフェストを追加しました。

エラーがスローされます

/initializers/offline.rb:5:in `block in <top (required)>': undefined method `join' for "/Sites/Ruby/project/public":String (NoMethodError)
4

1 に答える 1

1

Rails 3.2.11 では、オブジェクトではなくをRails.public_path返します。(Rails マスターはオブジェクトを返すように見えるため、rack-offline のドキュメントではそのように使用するように指示されている可能性があります)。StringPathnamePathname

代わりにこれを試してください:

  public_path = Pathname.new(Rails.public_path)

https://github.com/wycats/rack-offline/issues/7を参照してください

于 2013-01-25T05:37:00.153 に答える