| vendredi 24 octobre 2008, a 11:27 |
| Importer des données de test avec les fichiers yml |
On peut importer facilement des données dans la bdd avec les fichiers yml : test.yml champ1: id: 1 nom: durand prenom: jean
champ2: id: 2 nom: dupont prenom: jacques
Importer les données d'un fichier dans test/fixtures/*.yml rake db:fixtures:load
-------------------------------------------------------------------------------- /!\ pour certaines données comme les mot de passe, il faut mettre des " : hashed_password: "c093739843181d80b35a84b1435a3f859d971b83"
Pour préciser les fichiers yml à importer : rake db:fixtures:load FIXTURES:fichier1.yml,fichier2.yml
|
|
| mardi 14 octobre 2008, a 10:55 |
| Utiliser un gestionnaire de version subversion (svn) |
Cet article ne traite pas directement de rails mais est très pratique dans un projet de développement.
Si vous développez depuis plusieurs endroits, il est parfois fastidieux de trimbaler une clé usb avec ses sources. L'utilisation d'un serveur de version permet de gérer les modifications et sert aussi de sauvegarde (on a une copie de travail sur chaque poste et une copie sur le serveur).
Le plus utilisé est subversion (cvs est encore beaucoup utilisé mais vieillissant). On va installer subversion de manière à ce qu'il fonctionne à travers apache. Comme cela on pourra y accéder en utilisant le protocole http.
L'idéal est de posséder un serveur sous linux (on peut utiliser un vieux pc). Installation sous une distrib Ubuntu :
Installer les paquets nécessaires : sudo apt-get install apache2 subversion libapache2-svn
sudo vi /etc/apache2/mods-available/dav_svn.conf <Location /devsvn> DAV svn SVNPath /var/lib/svn AuthType Basic AuthName "Depot Subversion" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location>
Redémarrer apache pour prendre en compte le fichier précédent : sudo /etc/init.d/apache2 restart
Création du repository : sudo svnadmin create /var/lib/svn sudo chown -R www-data\: /var/lib/svn
Création d'un accès pour monlogin : sudo htpasswd -cs /etc/apache2/dav_svn.passwd monlogin sudo chown www-data:www-data /etc/apache2/dav_svn.passwd
Récupération des sources : Soit en ligne de commande : svn checkout http://127.0.0.1/devsvn/monprojet/ ou avec Netbeans et le module Subversion
On peut aussi utiliser tortoisesvn sous windows
|
|
| mardi 14 octobre 2008, a 10:31 |
| utiliser rails derrière un proxy |
Si vous utilisez rails en entreprise, il y a de grandes chances que vous soyez derrière un proxy.
Pour pouvoir accéder à internet et donc aux maj, il faut positionner les variable suivantes : HTTP_PROXY HTTPS_PROXY
Sous windows : set HTTP_PROXY=http://url_de_ton_proxy:ton_port_HTTP set HTTPS_PROXY=http://url_de_ton_proxy:ton_port_HTTPS
Sous Linux : export HTTP_PROXY=http://url_de_ton_proxy:ton_port_HTTP export HTTPS_PROXY=http://url_de_ton_proxy:ton_port_HTTPS
On peut maintenant faire les maj : gem update --system
|
|
| mardi 14 octobre 2008, a 10:19 |
| Comment déployer une appli en rails 2.1 sur un serveur en rails 2.0.2 |
Pour pouvoir démarrer votre projet en rails 2.0.2, il faut faire quelques modifications au niveau du source :
- Modifier le fichier config/environment.rb * Il faut mettre à jour la version de rails :
RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION (il est aussi possible de mettre la ligne en commentaire)
* Mettre en commentaire la ligne concernant le TimeZone : # config.time_zone = 'UTC'
- Mettre en commentaire toutes les lignes du fichier config/initializers/new_rails_defaults.rb if defined?(ActiveRecord) # Include Active Record class name as root for JSON serialized output. # ActiveRecord::Base.include_root_in_json = true
# Store the full class name (including module namespace) in STI type column. # ActiveRecord::Base.store_full_sti_class = true end
# Use ISO 8601 format for JSON serialized times and dates. # ActiveSupport.use_standard_json_time_format = true
# Don't escape HTML entities in JSON, leave that for the #json_escape helper. # if you're including raw json in an HTML page. # ActiveSupport.escape_html_entities_in_json = false
Référence : http://www.42.mach7x.com/2008/07/16/developing-in-rails-21-and-deploying-in-rails-202-or-error-undefined-method-time_zone/
|
|
| lundi 13 octobre 2008, a 14:07 |
| Installation de mongrel |
Installation de mongrel sur un serveur Linux Ubuntu (Hardy)
Pour éviter d'avoir l'erreur : ERROR: Error installing mongrel: ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb install mongrel mongrel_rails extconf.rb:1:in `require': no such file to load -- mkmf (LoadError) from extconf.rb:1
sudo apt-get install ruby-dev
Ensuite on installe mongrel : sudo gem install mongrel mongrel_rails
Pour démarrer le serveur, il faut aller dans le dossier de l'application et taper : ./script/server mongrel |
|
| vendredi 10 octobre 2008, a 16:53 |
| Les Recherches |
Tous les enregistrements par tri croissant tab = User.find :all, :order=>"name asc"
On peut utiliser les fonctions find_by_xxxxxx pour un enregistrement et find_all_by où xxxxxx correspond au nom du champ de la table : u = User.find_by_name("DUPONT") <=> u = User.find :first, :conditions=>"name = 'DUPONT'"
tab = User.find_all_by_name("DUPONT") <=> tab = User.find :all, :conditions=>"name = 'DUPONT'"
on peut conbiner (and seulement fonctionne pour l'instant -> tester pour or) tab = User.find_all_by_name_and_prenom("DUPONT", "PIERRE")
les recherches sont très lisibles
|
|
| vendredi 10 octobre 2008, a 11:17 |
| Selectionner un enregistrement au hazard |
Après avoir cherché longtemps le moyen de le faire proprement à la sauce ruby, j'ai trouvé ca :
@game = Game.find :first, :offset => ( Game.count * rand ).to_i
Ce qui revient au même que (en sql) : select * games order by rand() limit 1;
|
|
| jeudi 09 octobre 2008, a 15:51 |
| Compter les enregistrements d'une table |
Compter le nb d'enregistrements dans la table c = User.count avec critère c = User.count "name = 'DUPONT'" |
|
| mercredi 08 octobre 2008, a 11:32 |
| Héberger une appli Rails |
Je suis à la recherche d'un hébergeur Rails gratuit
En cherchant sur les forum je n'ai rien trouvé de récent et d'intéressant sur des hébergeur gratuit.
Le seul que j'ai trouvé est : alwaysdata mais il est limité à 10Mo sinon l'interface et les possibilité ont l'air très bien.
Si quelqu'un a trouvé mieux ??? je suis preneur !
|
|
| mercredi 08 octobre 2008, a 11:26 |
| Problème de création de champ -> ne pas utiliser de champ type |
Ajouter un champ dans une table via migration ruby script/generate migration email rake db/migrate
class Type < ActiveRecord::Migration def self.up add_column :personnes, :type, :string end end
/!\ ne fonctionnera pas correctement il est préférable d'utiliser : class Type < ActiveRecord::Migration
def self.up
add_column :personnes, :type_personne, :string
end
end
|
|
| mercredi 08 octobre 2008, a 11:20 |
| Développement Rails et Linux - Configuration de Mysql |
Pour ceux qui développent sur Linux, la connexion avec MySql ne fonctionne pas toujours correctement.
Par défaut la configuration suivant peut poser des problèmes : development: adapter: mysql database: depot_development username: root password: host: localhost
Il faut la modifier par (testé sous ubuntu) : development: adapter: mysql encoding: utf8 database: depot_development username: root password: host: 127.0.0.1 socket: /var/run/mysqld/mysqld.sock
-> remplacer localhost par 127.0.0.1
|
|
| mercredi 08 octobre 2008, a 11:07 |
| Ma première appli |
C'est parti.
Comme je l'ai précisé dans l'article "Comment développer ????" ce tuto est basé sur Netbeans :
1 - Création d'un nouveau projet : File -> New Project et on choisit Ruby -> Ruby on Rails Application Next >
Ensuite on configure la connexion MySql il faut sélectionner Specify Database Information Directly
|
|
| mardi 07 octobre 2008, a 17:35 |
| Comment développer ???? et avec quoi ??? |
Notepad et vi c'est bien sympa mais faut pas exagérer quand même, perso je préfère un bon IDE. J'ai essayé au début Eclipse (RadRails) mais franchement , j'ai pas trouvé ça top. Alors j'ai téléchargé Netbeans. Et là, miracle ! Tout il est bo, bien configuré, rien à faire. En résumé : - Télécharger Netbeans sur http://www.netbeans.org/ en sélectionnant la version Ruby. - Installer un serveur MySql (on peut utiliser xampp)
Pas besoin d'installer Ruby car Netbeans intègre par défaut une implémentation java de ruby : jruby. Pas besoin non plus d'installer un serveur d'appli car il intègre par défaut Webbrick et glassfish.
|
|
| mardi 07 octobre 2008, a 17:25 |
| Bienvenue |
Bienvenue sur mon blog.
J'ai découvert Rails il y a maintenant un an. J'ai trouvé que ce framework était absolument fantastique.
Il a fallut que je trouve une idée pour le tester. J'ai décidé de créer un annuaire de jeux en ligne (un de plus mais bon ...).
J'ai déjà fait les maquettes http://jeux.domozone.net . Et maintenant y'a plus ka !
Ce blog sera en fait un gros mémo de mes découvertes
Flux RSS :

|
|
|
| Présentation |  Bienvenue sur mon blog sur lequel vous trouverez des articles concernant le magnifique framework RoR Ruby on Rails
Envoyer un mail à l'auteur | |
| commentaire(s) | Bienvenue Paltock (17/12/2008 13:17)Le 1er Annuaire de B... Bienvenue olivier (09/12/2008 15:56)BONJOUR
VOUS AVEZ... |
| Newsletter |
|
Pour vous inscrire à la newsletter de ce blog renseignez votre adresse mail :
|
|
|