0

私はこのモデルを持っています:

class User < ActiveRecord::Base
  belongs_to :company

  def company
    # Do something here

    # Call the actual association (that would be usually returned by calling User#company)
  end
end

関連付けに別の内部名を使用できることは承知していますが、それは避けたいと考えています。

単純な関連付けメソッドを呼び出すときに Rails が呼び出す何らかの内部メソッドがあると確信しており、ここでUser#company再定義したメソッドでそれを自分で呼び出したいと思いUser#companyます。

ありがとう!

4

1 に答える 1

1

メソッドを呼び出すことができsuperます。またはassociation(:company)またはassociations(:company)(どれか忘れた)。または、できます

def company_with_my_stuff
  company_without_my_stuff
end
alias_method_chain :company, :my_stuff

belongs_to :original_company, :class_name => "Company", :foreign_key => "company_id"また、より良い解決策だと思う名前を変更することもできます。

于 2012-11-09T13:21:05.337 に答える