0

Rails 3 アプリをsapaホスティング サービスのサブディレクトリにデプロイしています。サブディレクトリをヒットするため/sapaに、スコープを に追加しましたroutes.rbが、これにより、アプリケーションは/assets(私のアプリの一部ではない) ではなく、.js と .css を検索するようになりました/sapa/assets(私は に非常に満足してassetsいましたが、何らかの理由で、それはしません)。したがって、scopeステートメント in myroutes.rbと a config.assets.prefixin myの両方を使用していapplication.rbます。

残念ながら、これにより、 myが だけではなく に組み込まれrake assets:precompileます。ファイルを適切な場所にコピーでき、すべてが機能しますが、誰かにもっと良い方法を教えてもらいたいです (存在するはずですよね?)。Rails が理解できるように、相対的なアセット パス (つまり initial なし) を取得することはできますか?public/sapa/assetspublic/assets/

/config/application.rb

  config.assets.prefix = "/sapa/assets"

/config/routes.rb

scope "sapa" do
  …
end

どんな助けでも大歓迎です。

4

1 に答える 1

0

定義上(レールの構成を参照)、config.assets.prefix構成は、アセットが提供される場所を定義するために使用されることを意図しているように見えます。

config.assets.prefix defines the prefix where assets are served from. Defaults to /assets.

config.assets.prefix変数に「/sapa/assets」を入れる理由はありましたか?おそらくあなたが探していたのはconfig.assets.paths構成変数でしたか?

config.assets.paths contains the paths which are used to look for assets. Appending paths to this configuration option will cause those paths to be used in the search for assets.
于 2012-11-13T15:12:01.673 に答える