Я использую этот драгоценный камень friendly_id, но мне нужно установить соединение с другой базой данных, где в настоящее время хранится таблица. Это связано с тем, что я управляю ресурсами этого приложения для другого приложения. Как бы я переопределить этот класс, чтобы я мог изменить унаследованный класс этого класса?Как переопределить класс в Rails?
https://github.com/norman/friendly_id/blob/master/lib/friendly_id/slug.rb
Это класс с драгоценным камнем:
class Slug < ActiveRecord::Base
belongs_to :sluggable, :polymorphic => true
def to_param
slug
end
end
И я хотел бы, чтобы это было:
class Slug < PrimaryDBModel
belongs_to :sluggable, :polymorphic => true
def to_param
slug
end
end
Вы можете UNDEF константу Slug, а затем переопределить его, как вам нужно, но это Hacky и некрасиво. Лично я разветвлял библиотеку и менял ее, чтобы делать то, что вам нужно. –
Не уверен, что я понимаю, что вы здесь делаете, так как «friendly_id' утверждает, что« FriendlyId является «бульдозером швейцарской армии» для плагинов и плагинов постоянной ссылки для Active Record ». Мне кажется, что это для «ActiveRecord», если вам нужно что-то еще, тогда я не уверен, что вы хотите friendly_id. если ваша другая БД использует «ActiveRecord», вам просто нужно определить соединение с ней. Я сделал это несколько раз, используя локальную БД и внешнюю БД путем модуляции внешнего и создания отдельного соединения. – engineersmnky
PrimaryDBModel устанавливает connection_connection во внешнюю базу данных, наследуя ее от ActiveRecord :: Base. Таким образом, я пытаюсь понять, как получить здесь конструкцию_соединения для своей модели, поэтому использует правильную базу данных, и именно так я делаю это с моими внешними моделями, поэтому я видел, будет ли способ с этим камнем модель. –