Articles of ruby

Comment puis-je initialiser les variables d’instance d’un module dans Ruby?

J’ai des modules où je voudrais utiliser des variables d’instance. Je les initialise actuellement comme ceci: module MyModule def self.method_a(param) @var ||= 0 # other logic goes here end end Je pourrais aussi appeler une méthode init pour les initialiser: def init @var = 0 end mais cela voudrait dire que je dois me rappeler […]

Fichier Rails Active Record find (: all,: order =>)

Il me semble impossible d’utiliser l’option ActiveRecord :: Base.find: commandez plus d’une colonne à la fois. Par exemple, j’ai un modèle “Show” avec la date et les colonnes de fréquentation. Si j’exécute le code suivant: @shows = Show.find(:all, :order => “date”) Je reçois les résultats suivants: [#, #, #, #, #] Si j’exécute le code […]

Comment faire en sorte que Capybara vérifie la visibilité après que certains JS aient fonctionné?

Après le chargement d’une page, j’ai un code qui s’exécute et masque et affiche divers éléments en fonction des données renvoyées par un fichier xhr. Mon test d’intégration ressemble à ceci: it “should not show the blah” do page.find(‘#blah’).visible?.should be_true end Lorsque je vais manuellement à la page dans le contexte où ce test s’exécute, […]

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 […]

Utiliser ‘return’ dans un bloc Ruby

J’essaie d’utiliser Ruby 1.9.1 pour un langage de script intégré, afin que le code “utilisateur final” soit écrit dans un bloc Ruby. Un problème avec ceci est que je voudrais que les utilisateurs puissent utiliser le mot-clé ‘return’ dans les blocs, afin qu’ils n’aient pas à se soucier des valeurs de retour implicites. Dans cet […]

Accès direct à une variable d’instance vs. Utilisation d’une méthode d’accesseur

Quelqu’un peut-il expliquer la différence entre l’access à un atsortingbut d’instance via self.atsortingbute et par @atsortingbute ?

Connexion de Rails 3.1 à plusieurs bases de données

Chez ShowNearby, nous avons effectué une très grande migration vers RoR 3.1 depuis PHP et nous sums confrontés à plusieurs problèmes que certains d’entre vous ont peut-être déjà résolus. Nous avons de grandes quantités de données et nous avons décidé de séparer notre firebase database en plusieurs bases de données que nous pouvons gérer séparément. […]

ruby convertir tableau en arguments de fonction

Disons que j’ai un tableau. Je souhaite passer le tableau à une fonction. La fonction attend cependant deux arguments. Est-il possible de convertir le tableau à la volée en 2 arguments? Par exemple: a = [0,1,2,3,4] b = [2,3] a.slice(b) Cela donnerait une erreur dans Ruby. Je dois entrer a.slice(b[0],b[1]) Je cherche quelque chose de […]

find () avec nil quand il n’y a pas d’enregistrements

Dans mon programme actuel de rails quand j’utilise quelque chose comme user = User.find(10) Lorsqu’il n’y a pas d’utilisateur avec ID = 10, j’aurai une exception comme: ActiveRecord::RecordNotFound: Couldn’t find User with ID=10 Puis-je obtenir un résultat nul au lieu de faire une exception alors quand je fais quelque chose comme: unless user = Challenge.find(10) […]