0

Я использую этот драгоценный камень 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 
+0

Вы можете UNDEF константу Slug, а затем переопределить его, как вам нужно, но это Hacky и некрасиво. Лично я разветвлял библиотеку и менял ее, чтобы делать то, что вам нужно. –

+0

Не уверен, что я понимаю, что вы здесь делаете, так как «friendly_id' утверждает, что« FriendlyId является «бульдозером швейцарской армии» для плагинов и плагинов постоянной ссылки для Active Record ». Мне кажется, что это для «ActiveRecord», если вам нужно что-то еще, тогда я не уверен, что вы хотите friendly_id. если ваша другая БД использует «ActiveRecord», вам просто нужно определить соединение с ней. Я сделал это несколько раз, используя локальную БД и внешнюю БД путем модуляции внешнего и создания отдельного соединения. – engineersmnky

+0

PrimaryDBModel устанавливает connection_connection во внешнюю базу данных, наследуя ее от ActiveRecord :: Base. Таким образом, я пытаюсь понять, как получить здесь конструкцию_соединения для своей модели, поэтому использует правильную базу данных, и именно так я делаю это с моими внешними моделями, поэтому я видел, будет ли способ с этим камнем модель. –

ответ

0

Если вы не хотите вилкой, вы может создать новый файл под:

lib/friendly_id/slug.rb 

и убедитесь, что этот файл будет загружен, а затем просто включить свой код:

class FriendlyId::Slug < PrimaryDBModel 
    belongs_to :sluggable, :polymorphic => true 

    def to_param 
     slug 
    end 

    end 
Смежные вопросы