associations de nommage telles que vous avez une association à la fois pluriel et Les formes singulières d'un nom de modèle peuvent prêter à confusion, cela peut également entraîner un chevauchement de méthodes. Les meilleures pratiques mises à part, vous n'avez généralement pas besoin de fournir du SQL brut. Votre cas ne fait pas exception.
On dirait que MyModel appartient également à l'utilisateur. Et l'utilisateur semble avoir une relation un à plusieurs endroits avec vous pouvez faire quelque chose comme ceci:
Assumeing les modèles suivants basés sur SQL posté:
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
Cependant, vous ne savez pas quel endroit vous allez obtenir si l'utilisateur a plusieurs endroits. Mais vous êtes garanti s'il y en a au moins un.
Vous avez has_many associations, vous devriez donc pouvoir le définir comme une sorte de jointure. Imaginez également une liste de 100 résultats et vous voulez avoir seulement 1 demande à la base de données. – xpepermint