2016-04-10 19 views
0

私はメリットライブラリをレールに使用しています。 Merit :: Score :: Pointにアソシエーションを追加して、別のモデル呼び出しであるScoreWorkflowとhas_oneの関連付けができるようにします。ライブラリモデルに新しい関連付けを追加する方法

以下は私のコードです。このコードでは、ライブラリモデルにhas_oneを追加できるように関連付けを追加したいと考えています。しかし、それは動作しません。このようなことは、ライブラリモデルにいくつかの機能/アソシエーションを置くことができるものはありますか?ありがとう。

module Merit 
    module Score 
    class Point < Point 
     has_one :score_workflow 
    end 
    end 
end 

module Merit 
    module Score 
    class Point < Point 
     belongs_to :score_workflow 
    end 
    end 
end 

答えて

0
class ScoreWorkflow 
     belongs_to :point 
end 

あなたはそれを他の方法で回避したい場合は... ...と...

class ScoreWorkflow 
     has_one :point 
end 

時々、あなたはクラス名を指定する必要があります。

module Merit 
    module Score 
     class Point < Point 
     has_one :score_workflow, :class_name => "ScoreWorkflow" 
     end 
    end 
end 


class ScoreWorkflow 
    belongs_to :point, :class_name => "Merit::Score::Point" 
end 

ActiveRecordを使用している場合は、外部キーもチェックしてください。

+0

実際、これは私がやったことです。そして、それはMerit :: Score :: Pointがモデルフォルダ内の私のPointモデルをオーバーライドするので、うまくいきません。では、libsモデルではなく私のモデルを使ってレールを作るにはどうすればいいですか? – travistam

関連する問題