ネーミング団体でユーザーの位置を取得することができますし、モデル名の単数形は混乱する可能性があり、メソッドオーバーラップの原因にもなりかねません。ベストプラクティスとは別に、通常は生のSQLを提供する必要はありません。あなたのケースも例外ではありません。
MyModelもUserに属しているようです。そして、ユーザは、あなたがこのような何かを行うことができます場所と一対多の関係を持つように表示されます。SQLに基づいて、次のモデルをAssumeing
投稿:
class User < ActiveRecord::Base
has_many :my_models
has_many :locations
end
class Location <ActiveRecord::Base
belongs_to :my_model
belongs_to :user
end
class MyModel < ActiveRecord::Base
has_many :locations
belongs_to :user
has_one :user_location, through => :user, :source => :location
end
をしかし、あなたはどの場所がわかりませんユーザーが多くの場所を持っている場合は、あなたは取得しようとしています。しかし少なくとも1つがあればあなたは1つ保証されます。
has_many関連があるので、何らかの結合として定義できる必要があります。また、100件の結果のリストを想像し、データベースへのリクエストを1つだけにしたいとします。 – xpepermint