Повторно открыть модель плагина в основном приложении Rails - PullRequest
1 голос
/ 10 февраля 2011

Плагин предоставляет модель под названием User. Можно ли снова открыть его в моем приложении?

Если я создам app/models/user.rb и попробую его там, вся модель будет переопределена, и оригинальные методы плагина больше не будут доступны.

1 Ответ

1 голос
/ 10 февраля 2011

Это единственный способ, который я нашел до сих пор:

# 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

Было бы неплохо, если бы был способ сделать это без изменения кода плагина.В этом случае это не имеет значения, потому что плагин мой, но если мне нужно сделать то же самое с другим плагином, мне нужно его разветвить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...