Rails 4 a introduit un avertissement de dépréciation lors de l’utilisation de: uniq => true avec has_many: through. Par exemple: has_many :donors, :through => :donations, :uniq => true Donne l’avertissement suivant: DEPRECATION WARNING: The following options in your Goal.has_many :donors declaration are deprecated: :uniq. Please use a scope block instead. For example, the following: has_many […]
Voici deux exemples de codes. Premier avec collect : User.first.gifts.collect(&:id) Deuxième avec pluck : User.first.gifts.pluck(:id) Y a-t-il une différence entre la performance ou quelque chose d’autre?
Existe-t-il un moyen de remplacer la valeur d’identification d’un modèle lors de la création? Quelque chose comme: Post.create(:id => 10, :title => ‘Test’) serait idéal, mais évidemment ne fonctionnera pas.
J’essaie de comprendre ce que has_many :through is et quand l’utiliser (et comment). Cependant, je ne comprends pas. Je lis Beginning Rails 3 et j’ai essayé Googling, mais je ne suis pas capable de comprendre.
Comment obtenir une liste de toutes les tables définies pour la firebase database lors de l’utilisation d’un enregistrement actif?
J’aimerais voir l’instruction SQL générée par une requête ActiveRecord donnée. Je reconnais que je peux obtenir ces informations à partir du journal après l’émission de la requête, mais je me demande s’il existe une méthode pouvant être utilisée et ActiveRecord Query. Par exemple: SampleModel.find(:all, :select => “DISTINCT(*)”, :conditions => [“`date` > #{self.date}”], :limit => 1, […]
En apprenant de plus en plus sur la POO et en commençant à mettre en œuvre différents modèles de conception, je reviens sans cesse aux cas où les gens détestent Active Record . Souvent, les gens disent que cela ne va pas très bien (citant Twitter comme exemple principal) – mais personne n’explique en réalité […]
J’essaie de faire une requête comme ça def self.search(search, page = 1 ) paginate :per_page => 5, :page => page, :conditions => [“name LIKE ‘%?%’ OR postal_code like ‘%?%'”, search, search], order => ‘name’ end Mais quand il est exécuté, quelque chose ajoute des guillemets, ce qui provoque la requête SQL SELECT COUNT(*) FROM “schools” […]
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 la chaîne de requête ‘Smith’ correctement, mais comme il s’agit d’une instruction LIKE, cela ne fonctionne […]
Duplication possible: Model.find (1) donne une erreur ActiveRecord lorsque l’id 1 n’existe pas S’il n’y a pas d’utilisateur avec un identifiant de 1 dans la firebase database, essayer User.find(1) une exception. Pourquoi est-ce?