Articles of ruby on rails

Rails 3 + activerecord, le meilleur moyen de «mettre à jour en masse» un seul champ pour tous les enregistrements qui répondent à une condition

Dans rails 3, en utilisant activerecord, existe-t-il un moyen de requête unique pour définir le champ : hidden sur TRUE pour tous les enregistrements qui remplissent une condition … par exemple :condition => [ “phonenum = ?”, some_phone_number ] Si une seule requête ne peut pas le faire, quelle est l’approche optimale?

comment append des enregistrements à has_many: par association en rails

class Agents << ActiveRecord::Base belongs_to :customer belongs_to :house end class Customer << ActiveRecord::Base has_many :agents has_many :houses, through: :agents end class House << ActiveRecord::Base has_many :agents has_many :customers, through: :agents end Comment puis-je append au modèle Agents pour le Customer ? Est-ce la meilleure façon? Customer.find(1).agents.create(customer_id: 1, house_id: 1) Ce qui précède fonctionne bien à […]

Pourquoi le premier élément est-il toujours vide dans mon multi-sélection Rails, en utilisant un tableau incorporé?

J’utilise Rails 3.2.0.rc2 . J’ai un Model dans lequel j’ai un Array statique que je propose via un formulaire, de sorte que les utilisateurs puissent sélectionner un sous-ensemble de Array et enregistrer leur sélection dans la firebase database, stockée dans une seule colonne dans Model . J’ai utilisé sérialiser sur la colonne de la firebase […]

Comment remplacer les options X-Frame pour un contrôleur ou une action dans Rails 4

Rails 4 semble définir une valeur par défaut SAMEORIGIN pour l’en X-Frame-Options tête de réponse HTTP X-Frame-Options . Ceci est idéal pour la sécurité, mais il ne permet pas que des parties de votre application soient disponibles dans un iframe sur un autre domaine. Vous pouvez remplacer la valeur de X-Frame-Options globalement à l’aide du […]

Comment exécuter une mise à jour brute avec une liaison dynamic dans les rails

Je veux exécuter une mise à jour brute sql comme ci-dessous: update table set f1=? where f2=? and f3=? Ce SQL sera exécuté par ActiveRecord::Base.connection.execute , mais je ne sais pas comment passer les valeurs des parameters dynamics dans la méthode. Quelqu’un pourrait-il m’aider?

Rails trouver un enregistrement avec zéro has_many enregistrements associés

Cela semble assez simple mais je ne peux pas le faire apparaître sur Google. Si j’ai: class City < ActiveRecord::Base has_many :photos end class Photo < ActiveRecord::Base belongs_to :city end Je veux trouver toutes les villes qui n’ont pas de photos. J’aimerais pouvoir appeler quelque chose comme … City.where( photos.empty? ) … mais ça n’existe […]

Comment déterminer si un enregistrement vient d’être créé ou mis à jour dans after_save

Le #new_record? fonction détermine si un enregistrement a été enregistré. Mais c’est toujours faux dans le hook after_save . Y a-t-il un moyen de déterminer si l’enregistrement est un enregistrement nouvellement créé ou un ancien depuis la mise à jour? J’espère ne pas utiliser un autre rappel tel que before_create pour définir un indicateur dans […]

Méthodes protégées et privées dans Rails

La visibilité des méthodes dans Ruby (méthodes publiques, protégées et privées) a été bien expliquée dans des endroits tels que ce billet de blog . Mais dans Ruby on Rails, il semble légèrement différent de ce qu’il serait dans une application Ruby classique en raison de la configuration du framework. Donc, dans les modèles Rails, […]

Ruby / Rails – Modifiez le fuseau horaire d’une heure sans modifier la valeur

J’ai un enregistrement dans la firebase database qui contient :start_time et :timezone atsortingbutes. Le :start_time est un temps dans UTC – 2001-01-01 14:20:00 , par exemple. Le :timezone est une chaîne – America/New_York , par exemple. Je veux créer un nouvel object Time avec la valeur :start_time mais dont le fuseau horaire est spécifié par […]

les rails sont propres

Après la mise à jour d’un bundle, vous aurez des pierres précieuses qui peuvent devenir obsolètes, car une version plus récente de ce joyau a été installée. Il n’existe aucune commande de ce type sous l’exécutable du bundle c’est-à-dire un bundle clean . Comment se débarrasser de ces gemmes obsolètes? Ceci est une tentative de […]