2011-02-10 8 views
1

プラグインは、Userというモデルを提供します。それは私のアプリでそれを開くことが可能ですか?メインRailsアプリケーションのプラグインモデルを再オープン

app/models/user.rbを作成して試してみると、モデル全体がオーバーライドされ、元のプラグインメソッドは使用できなくなります。

+0

どのようにUserクラスを再度開いていますか? (in app/models/user.rb) –

+0

'class User Ivan

+0

ちなみに、私は 'lib'フォルダのファイルから' class_eval'を使うことができたと思います。しかし、すべての変更で再起動し、app/models上で再オープンする必要があります。 – Ivan

答えて

1

これは私がこれまでに見つかった唯一の方法である:

# app/models/plugin_user.rb 
class PluginUser 
    def self.load 
    User.class_eval do 
     # my code here 
    end 
    end 
end 

# plugin model: 
class User 
    # ... 
end 

PluginUser.load 

プラグインのコードを変更せずにこれを行う方法があった場合、それはいいだろう。この場合、プラグインは私のものなので問題はありませんが、別のプラグインに同じことをする必要があれば、私はそれをフォークする必要があります。

関連する問題