登録の方が優れている理由は次のとおりです。あるいは、このコードを別の方法で改善しなければならないのでしょうか?オブジェクトまたはオブジェクトIDを渡しますか?
上記の「より良い」という私の考えは、基本的には1)哲学的に正しい(ベストプラクティス)、2)最も効率的/パフォーマンスが高いということです。
Class Course < ActiveRecord::Base
has_many :enrollments # basically a join table
has_many :students, :source => :user, :through => :enrollments
def enroll_this_way(student)
self.enrollments << Enrollment.new(:course_id => self.id, :student_id => student.id)
end
# OR
def enroll_that_way(student_id)
self.enrollments << Enrollment.new(:course_id => self.id, :student_id => student_id)
end
end
私はオブジェクトとの比較を好みます。両方とも同様のパフォーマンスに変換する必要があります。 – aishwarya
整数を渡す唯一の理由は、オブジェクトを作成せずに何らかの形でその番号がある場合です。しかし、すでにオブジェクトを持っている場合は、それを渡してください。オブジェクトの作成はコードの最長部分になります。 – DGM
@DGMのチャンスはほとんどの場合student.idですが、もっと重要な考慮事項(デザインパターン、ベストプラクティスなど)があるかもしれないと考えました。 – Chris