0

나는이 보석 friendly_id를 사용하고 있지만 테이블이 현재 저장되어있는 다른 데이터베이스에 대한 연결을 설정해야합니다. 이것은 다른 응용 프로그램에 대한이 응용 프로그램의 자원을 관리하기 때문입니다. 이 클래스의 상속 된 클래스를 변경할 수 있도록이 클래스를 재정의하려면 어떻게해야합니까? 당신은레일스에서 ​​클래스를 어떻게 오버라이드 할 수 있습니까?

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

    def to_param 
     slug 
    end 

    end 
+0

당신은 당신이 필요로 재정의 한 후 슬러그가 일정 undef를하고 있었다,하지만 그 해키하고 추한. 개인적으로, 나는 도서관을 포크하고 필요한 것을하기 위해 그것을 바꿀 것이다. –

+0

'friendly_id'는 "FriendlyId가 Active Record 용 슬러 깅 및 퍼머 링크 플러그인의"Swiss Army Bulldozer "이므로 여기에서 뭘하는지 알지 못합니다." 그것은 내가 ActiveRecord를위한 것이라고 제안하는 것입니다. 만약 당신이 뭔가 다른 것을 원한다면 나는 당신이 friendly_id를 원한다고 확신하지 못합니다. 만약 당신의 다른 DB가'ActiveRecord'를 사용한다면 당신은 그 연결을 정의 할 필요가 있습니다. 필자는 외부 DB를 모듈화하고 별도의 연결을 생성하여 로컬 DB와 외부 DB를 사용하여 몇 번이 작업을 수행했습니다. – engineersmnky

+0

PrimaryDBModel은 ActiveRecord :: Base에서 상속 한 외부 데이터베이스에 대한 establish_connection을 수행합니다. 그래서 모델에 맞는 establish_connection을 얻는 방법을 알아 내려고 노력하고 있습니다. 올바른 데이터베이스를 사용하고 있으며, 외부 모델을 어떻게 사용하고 있었는지 확인하고 있습니다. 그래서이 보석이있는 방법이 있는지 알고있었습니다. 모델. –

답변

0

당신이 싶지 포크에게 그것을 할 경우

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 

그리고 나는 그것이 싶습니다 아래에 새 파일을 만들 수 있습니다.

lib/friendly_id/slug.rb 

이 파일이로드되어 있는지 확인 후 당신의 코드를 포함

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

    def to_param 
     slug 
    end 

    end