Articles of ruby

Quand dois-je utiliser Struct vs. OpenStruct?

En général, quels sont les avantages et les inconvénients d’utiliser un OpenStruct par rapport à un Struct? Quel type de cas d’utilisation générale conviendrait à chacun d’eux?

ActiveRecord: taille contre nombre

Dans Rails, vous pouvez trouver le nombre d’enregistrements à l’aide de Model.size et Model.count . Si vous avez affaire à des requêtes plus complexes, y a-t-il un avantage à utiliser une méthode plutôt qu’une autre? Comment sont-ils différents? Par exemple, j’ai des utilisateurs avec des photos. Si je veux afficher un tableau des utilisateurs et […]

Ruby on Rails Callback, quelle est la différence entre: before_save et: before_create?

Pourriez-vous expliquer en détail ce que sont les :before_save et :before_create Ruby on Rails et ce qu’ils ont à voir avec les validations de Rails? La validation a-t-elle lieu après :before_save ou :before_create ?

Comprendre le fichier Gemfile.lock

Après avoir exécuté la commande d’ bundle install , ‘Gemfile.lock ‘ est créé dans le répertoire de travail. Que signifient les directives à l’intérieur de ce fichier? Par exemple, prenons le fichier suivant: PATH remote: . specs: gem_one (0.0.1) GEM remote: http://example.org/ specs: gem_two (0.0.2) gem_three (0.0.3) gem_four (0.0.4) PLATFORMS platform DEPENDENCIES gem_two gem_one! Que […]

Comment appelez-vous l’opérateur -> dans Ruby?

Comment appelez-vous l’opérateur -> comme suit? ->(…) do … end Les extraits suivants ne sont-ils pas équivalents? succ = ->(x) {x + 1} succ = lambda {|x| x + 1}

Variable d’instance: self vs @

Voici un code: class Person def initialize(age) @age = age end def age @age end def age_difference_with(other_person) (self.age – other_person.age).abs end protected :age end Ce que je veux savoir, c’est la différence entre l’utilisation de @age et self.age dans la méthode age_difference_with .

Comment puis-je télécharger un fichier depuis une URL et l’enregistrer dans Rails?

J’ai une URL vers une image que je veux enregistrer localement, afin que je puisse utiliser Paperclip pour produire une miniature pour mon application. Quelle est la meilleure façon de télécharger et d’enregistrer l’image? (J’ai regardé dans le traitement des fichiers rbuy mais je n’ai rien trouvé.)

Comment parsingr un fichier YAML?

Je voudrais savoir comment parsingr un fichier YAML avec le contenu suivant: — javascripts: – fo_global: – lazyload-min – holla-min Actuellement, j’essaie de l’parsingr de cette façon: @custom_asset_packages_yml = (File.exists?(“#{RAILS_ROOT}/config/asset_packages.yml”) ? YAML.load_file(“#{RAILS_ROOT}/config/asset_packages.yml”) : nil) if !@custom_asset_packages_yml.nil? @custom_asset_packages_yml[‘javascripts’].each{ |js| js[‘fo_global’].each{ |script| script } } end Mais cela ne semble pas fonctionner et me donne une erreur […]

Rails: dépendance =>: détruire VS: dependant =>: delete_all

Dans les rails guides, il est décrit comme ceci: Les objects seront en outre détruits s’ils sont associés à :dependent => :destroy , et supprimés s’ils sont associés à :dependent => :delete_all Bien, cool. Mais quelle est la différence entre être détruit et être supprimé? J’ai essayé les deux et cela semble faire la même […]

La gem native ‘json’ nécessite des outils de build installés

J’ai ruby 1.9.2p180 (2011-02-18) [i386-mingw32] installé sur ma machine Windows 7. Maintenant, j’ai essayé d’installer le gem JSON en utilisant la commande “gem install json” et j’ai obtenu l’erreur suivante. ERROR: Error installing JSON: The ‘json’ native gem requires installed build tools. Please update your PATH to include build tools or download the DevKit from […]