Développement Web Ruby
par Sylvain CLAUDEL

Derniers posts

Une fonction pour vider les tables associées aux models - rubyonrails 3

Date d'édition 2011-01-19 à 17:07

Voici une fonction pour vider les tables associées aux models dans une application rubyonrails 3.

Soit en console, soit dans votre code, vous pouvez faire :

ActiveRecord::Base.class_eval do

    def self.detonate

        all.map(&:destroy)

    end

end

Cela a pour effet d' "injecter la fonction dans tous les objets" active record.

Ensuite il suffit d'appeler la fonction de cette manière :

Product.detonate

Ainsi tous les produits sont supprimés de la base de données, pratique pour faire du ménage !

Source : https://snippets.dzone.com/posts/show/11603

Redcar un IDE à la Textmate sous Windows Linux et MacOSX

Date d'édition 2011-01-19 à 16:50

Bon comme visiblement NetBeans arrête le support de RubyOnRails (à partir de la version 7), apparemment déjà trop de boulot avec le jdk7, eh bien il va falloir trouver un autre IDE ouai mais lequel ?

Aptana Studio 3 (ex- RadRails)https://www.aptana.com/ : ouai mais ça rame !

GEdit / Gmatehttps://blog.siverti.com.br/gmate/ : mouai bof

Komodohttps://www.activestate.com/komodo-edit : à l'air pas mal mais payant

Intypehttps://intype.info/home/index.php : à l'air sympa aussi en plus il gère svn, mais pas de debbuger

Je viens de découvrir RedCar qui me parait bien sympa. Moi le gros défaut à mon gout c'est l'absence de débugger (mais c'est sur la TODO list), il gère les thèmes et les snippets TextMate.

https://github.com/redcar/redcar

Pour l'installer attention c'est compliqué :-p :


sudo gem install redcar
redcar install

Pour le lancer :


redcar

Bundle install ou cap deploy - `initialize': not in gzip format (Zlib::GzipFile::Error)

Date d'édition 2011-01-19 à 13:42

Si vous rencontrez cette erreur `initialize': not in gzip format (Zlib::GzipFile::Error), en faisant un bundle install ou via capistrano (cap deploy), ce doit très certainement être une mauvaise source de gem dans votre Gemfile.

Exemple :

source 'https://rubygems.org'

source 'https://gems.github.com'

source 'https://merbi.st'  #<-- Source de gem décédé


gem 'rails', '3.0.3'

gem 'rmagick', '2.12.2', :require => 'RMagick'

......

Supprimez la source qui pose problème !

à lire aussi : https://stackoverflow.com/questions/2494659/strange-bundler-error-tar-input-rb49in-initialize-not-in-gzip-format-zlib

Rendu json avec rails 3

Date d'édition 2011-01-19 à 08:45

Si vous souhaitez faire un rendu json : voilà comment procéder :

Dans routes.rb :

get "show_product/:id(.:format)" => "products#show_product"

Dans votre controlleur products_controller.rb :

def show_product

    @product  = Product.where(:id => params[:id]).first

    respond_to do |format|

      format.html

      format.json{

        render :json => @product.to_json(:include => [:family])

      }

    end

end

Vous aurez remarqué l'option include pour la fonction to_json qui permet d'inclure des models liés dans le rendu json !

Postit : Supprimer le versionning d'un fichier mais sans le supprimer dans sa copie locale

Date d'édition 2011-01-11 à 17:04

Bon ben voilà svn delete à la facheuse tendance à supprimer les fichiers de sa copie locale voici la commande pour ne supprimer le fichier que sur le serveur subversion :

svn delete --keep-local nom_du_fichier

Développement ruby et geekeries - rivsc