Questions marquées «activerecord»

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.


9
Comment retourner une relation ActiveRecord vide?
Si j'ai une portée avec un lambda et qu'il faut un argument, selon la valeur de l'argument, je sais peut-être qu'il n'y aura pas de correspondance, mais je veux toujours renvoyer une relation, pas un tableau vide: scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] …

11
Rails: sélectionnez des valeurs uniques dans une colonne
J'ai déjà une solution qui fonctionne, mais j'aimerais vraiment savoir pourquoi cela ne fonctionne pas: ratings = Model.select(:rating).uniq ratings.each { |r| puts r.rating } Il sélectionne, mais n'imprime pas de valeurs uniques, il imprime toutes les valeurs, y compris les doublons. Et c'est dans la documentation: http://guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields





5
Rails find_or_create_by plus d'un attribut?
Il existe un attribut dynamique pratique dans l'enregistrement actif appelé find_or_create_by: Model.find_or_create_by_<attribute>(:<attribute> => "") Mais que faire si j'ai besoin de trouver_ou_créer par plus d'un attribut? Disons que j'ai un modèle pour gérer une relation M: M entre le groupe et le membre appelé GroupMember. Je pourrais avoir de nombreuses …


4
delete_all vs destroy_all?
Je recherche la meilleure approche pour supprimer des enregistrements d'une table. Par exemple, j'ai un utilisateur dont l'ID utilisateur figure sur de nombreuses tables. Je veux supprimer cet utilisateur et chaque enregistrement qui a son ID dans toutes les tables. u = User.find_by_name('JohnBoy') u.usage_indexes.destroy_all u.sources.destroy_all u.user_stats.destroy_all u.delete Cela fonctionne et …





4
Remplacer les méthodes d'attribut ActiveRecord
Un exemple de ce dont je parle: class Person < ActiveRecord::Base def name=(name) super(name.capitalize) end def name super().downcase # not sure why you'd do this; this is just an example end end Cela semble fonctionner, mais je viens de lire la section sur le remplacement des méthodes d'attributs dans la …

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.