質問

私は、ベンダー/プラグインでエンジンを持っています。私の問題は、私は、一見、ベースアプリケーション内のモデルとエンジンモデルを拡張can'tこと、である。

マイフォルダ構造ます:

APPNAME
 -app
  -models
   -item.rb
 -vendor
  -plugins
   -image_gallery
    -app
     -models
      -image_gallery.rb

何も特別では...私のimage_gallery.rbに私はこれを持っています

class ImageGallery < Item
end

しかし、Railsはitem.rb.で定義されている欠けているメソッドについて不平を言います私はimage_gallery.rbでそれらを定義した場合、それが動作します。

役に立ちましたか?

解決

あなたはconfig.cache_classes = true

にセットdevelopment.rbに試すことができます

他のヒント

私は、これは、ロード順の問題であると考えています。ベンダーのディレクトリには、開発モードで再ロードされません。あなたのアプリでモデルがロードされていないとき、それから継承するためにエンジンモデルを試みます。

申し訳ありませんが、私はこのための修正を知っていないと1を発見したことがありません。私はレール3がこれを対処することになると思います。私たちは通常、ちょうど同じエンジンに関連したモデルを維持するか、それを避けるために、メインのアプリにエンジンのものを上に移動します。これは、吸うと私は適切な解決策を知っているのが大好きだ。

プロダクションモードで試してみて、あなたが問題を持つべきではありません。これが事実である場合は、散弾銃を使用して見てください可能性があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top