Je suit:rails belongs_to has_many s'il vous plaît expliquer
modèleUser
avec des colonnes:
id user_id password created_at updated_at
modèle Store
avec des colonnes:
id store_id store_name create_ad updated_at
Fondamentalement, un utilisateur peut appartenir à plusieurs magasins. Je ne voudrais donc d'obtenir une requête comme « obtenir tous les magasins que l'utilisateur appartient à »
relations que je l'ai fait sont:
class User < ActiveRecord::Base
belongs_to :store, :foreign_key => "store_id"
end
class Store < ActiveRecord::Base
has_many :user, :foreign_key => "store_id"
end
sont ces correctes? En fin de compte, je veux savoir si un ID utilisateur, mot de passe et storeid devrait pouvoir se connecter.
Alors, comment puis-je utiliser le find_byXXX
à ce sujet? Donc, si je reçois une ligne avec passé dans ID utilisateur, mot de passe et storeId ... Je saurais si l'utilisateur devrait pouvoir se connecter?
J'ai remarqué que belongs_to et has_many questions ont déjà été posées mais je n'ai pas pu comprendre bien de ces questions. peut-être des réponses spécifiques à mon problème aideront ...
@BennyG "et de rendre la relation bidirectionnelle sur ce modèle." Parlez-vous de deux relations «has_many: through»? –
Le nouveau modèle (UserStore) aura deux relations ': has_one'. Et oui, vous pouvez ajouter 'has_many: through' relations pour plus de commodité à la fois le modèle utilisateur et magasin. – BenG