2012-01-25 37 views
0

私は私はこのような機能を定義したモジュールを、持っている:belongs_toのデフォルトの関連付け=(関連付ける)メソッドをオーバーライドする方法?

module A 
    def item=(item) 
    ... 
    end 
end 

は、それから私は、belongs_toの関連を持つクラスを持っていると、モジュールAが含ま:

class User < ActiveRecord::Base 
    include A 
    belongs_to :item 
    ... 
end 

を私はUserクラスをしたいです私のアイテム=を持っているが、この方法ではうまくいかないようだ。

デフォルトのアイテム=メソッドをオーバーライドする方法を教えてもらえますか?

+0

どのバージョンのレールですか?最近リリースされた3.2のバージョンでは、モジュール化された関連付けがサポートされています(http://blog.hasmanythrough.com/2012/1/20/modularized-association-methods-in-rails-3-2) –

+0

はい! !!ありがとう!!!! – HanXu

答えて

1
belongs_to :iteminclude A文を移動し

class User < ActiveRecord::Base 
    belongs_to :item 
    include A 
    ... 
end 

belongs_to :item文がitem=方法を再定義しています。

+0

。私はそれを試しました...それは動作しません... – HanXu

+0

私は3.2.0にレールを更新しました。 – HanXu

関連する問題