L'enregistrement actif est un modèle qui combine la logique de domaine avec l'abstraction de stockage dans un seul objet. Utilisez cette balise pour les questions sur le modèle, [rails-activerecord] pour les questions sur le framework Rails ORM.
Je veux faire un migrationdans Rails, référençant une autre table. Habituellement, je ferais quelque chose comme: add_column :post, :user, :references Cela crée une colonne nommée user_iddans la poststable. Mais que faire si, au lieu de user_id, je veux quelque chose comme author_id? Comment puis je faire ça?
J'essaie de comprendre ce que has_many :throughc'est et quand l'utiliser (et comment). Cependant, je ne comprends pas. Je lis Beginning Rails 3 et j'ai essayé Google, mais je n'arrive pas à comprendre.
Gens, Je veux m'assurer de bien comprendre cela. Et s'il vous plaît, ignorez le cas de l'héritage ici (SentientBeing), en essayant de vous concentrer sur les modèles polymorphes dans has_many: through relations. Cela dit, considérez ce qui suit ... class Widget < ActiveRecord::Base has_many :widget_groupings has_many :people, :through => :widget_groupings, …
Je voudrais voir l'instruction SQL qu'une requête ActiveRecord donnée générera. Je reconnais que je peux obtenir ces informations à partir du journal une fois la requête émise, mais je me demande s'il existe une méthode qui peut être appelée et ActiveRecord Query. Par exemple: SampleModel.find(:all, :select => "DISTINCT(*)", :conditions => …
Je veux faire quelque chose comme: SELECT * FROM USER WHERE NAME LIKE '%Smith%'; Ma tentative à Arel: # params[:query] = 'Smith' User.where("name like '%?%'", params[:query]).to_sql Cependant, cela devient: SELECT * FROM USER WHERE NAME LIKE '%'Smith'%'; Arel encapsule correctement la chaîne de requête «Smith», mais comme il s'agit d'une …
Lorsque j'exécute des requêtes (par exemple MyModel.where(...)ou record.associated_things) dans la console, comment puis-je voir les requêtes de base de données en cours d'exécution afin de mieux comprendre ce qui se passe?
Je sais que vous pouvez demander à ActiveRecord de répertorier les tables dans la console en utilisant: ActiveRecord::Base.connection.tables Existe-t-il une commande qui listerait les colonnes dans une table donnée?
J'ai un modèle A qui a une association "has_many" à un autre modèle B.J'ai une exigence commerciale selon laquelle une insertion dans A nécessite au moins 1 enregistrement associé à B. Existe-t-il une méthode que je peux appeler pour m'assurer que c'est vrai, ou dois-je écrire une validation personnalisée?
Existe-t-il un moyen de remplacer la valeur d'identifiant d'un modèle lors de la création? Quelque chose comme: Post.create(:id => 10, :title => 'Test') serait idéal, mais ne fonctionnera évidemment pas.
En utilisant Rails 3.2, quel est le problème avec ce code? @reviews = @user.reviews.includes(:user, :reviewable) .where('reviewable_type = ? AND reviewable.shop_type = ?', 'Shop', 'cafe') Cela soulève cette erreur: Impossible de charger avec empressement l'association polymorphe: révisable Si je supprime le reviewable.shop_type = ? condition, cela fonctionne. Comment puis-je filtrer en …
J'ai un tableau d'objets, appelons-le un Indicator. Je veux exécuter des méthodes de classe Indicator (celles de la def self.subjectsvariété, des portées, etc.) sur ce tableau. La seule façon que je connais d'exécuter des méthodes de classe sur un groupe d'objets est de les avoir comme ActiveRecord :: Relation. Alors …
Dans l'état actuel des choses, cette question ne convient pas à notre format de questions-réponses. Nous nous attendons à ce que les réponses soient étayées par des faits, des références ou une expertise, mais cette question suscitera probablement un débat, des arguments, un sondage ou une discussion approfondie. Si vous …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.