Utilisation Rails

De Wiki Arthion

Installation sur windows

installer ruby http://rubyforge.org/frs/?group_id=167
Rubygem est intégré par défaut, pas besoin de l'installer en plus<ref>http://railsforum.com/viewtopic.php?id=40680</ref>
installer rails : gem install rails

Se posera ensuite le probleme de sqlite : il manque une dll a télécharger ici : http://www.sqlite.org/sqlitedll-3_6_23_1.zip&usg=AFQjCNHwBH26R58himuhS3o9hBMb8MGIdA<ref>http://groups.google.com/group/sqlite3-ruby/msg/14900c6f29f9a825</ref>
puis mettre le dll dans le ruby/bin

cela permet de lancer la commande rails server sans probleme

Installation sur ubuntu

Méthode obsolete et non fiable

apt-get install ruby
apt-get install ruby1.8-dev<ref>http://mentalized.net/journal/2006/01/24/no_such_file_to_load_mkmf/</ref>
apt-get install libsqlite3-dev<ref>http://www.jsiegel.com/2008/10/fixed-ubuntu-sudo-gem-install-sqlite3.html</ref>
apt-get install libopenssl-ruby1.8<ref>http://morecode.wordpress.com/2007/01/16/capistrano-error-no-such-file-to-load-openssl-ruby-on-rails/</ref>
bundle install
gem install sqlite3-ruby

Methode fonctionnelle

Version Ben

Prérequis minimums: Git, curl, sqlite3 doivent etre installés

sudo apt-get install git curl build-essential libxslt-dev libxml2-dev libsqlite3-0 libsqlite3-dev sqlite3 libssl-dev libreadline5 libreadline5-dev


Prérequis au fonctionnement de Heroku:

apt-get install bison openssl zlib1g zlib1g-dev 

Installation de RVM

bash < <(curl -s https://rvm.beginrescueend.com/install/rvm) <ref>https://rvm.beginrescueend.com/rvm/install/</ref>
echo '-s "$HOME/.rvm/scripts/rvm" && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

Une fois rvm installé, installer ruby 1.9.2

rvm get head
rvm reload
rvm install 1.9.2

Créer son gemset préféré

rvm --create use 1.9.2@rails

Mettre sa version et son gemset en défaut

rvm --default use 1.9.2@rails

Mettre a jour son rubygem au cas où

gem update

supprimer la création des docs lors de l'import de gemmes (ligne à ajouter dans ~/.gemrc)

gem: --no-ri --no-rdoc

Installer rails

gem install rails

Une fois son projet créé avec rails new nomappli, créer son bundle de gemmes avec

bundle install

Version Cirsium

paquets nécessaires
apt-get install curl git-core build-essential zlib1g-dev libssl-dev libreadline5-dev

récupérer la dernière version de git
bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)

tester l'install de rvm
rvm notes

installer la version 1.9.2 de ruby
rvm install 1.9.2

et la mettre par defaut
rvm --default ruby-1.9.2

test de ruby
ruby -v

installation de rails
gem install rails


installation de sqlite
sudo apt-get install sqlite3 libsqlite3-dev

installation de la gem sqlite
sudo gem install sqlite3-ruby

Installation Heroku

gem install heroku
heroku keys:add
heroku create
git push heroku master

Tests en continu

gem install ZenTest<ref>http://automate-everything.com/2009/08/gnome-and-autospec-notifications/</ref>
gem install redgree

sudo apt-get install libnotify-bin

Utilisation

rails script/generate ou rails g
rails g model
rails g model Story name:string link:string
rake -T
rake db:migrate
rake db:migrate VERSION =
rails console

Manipulation de données:
(en supposant le modele Story généré)
s=Story.new
s.name="truc"
s.link= 'machine'
s.save
s.id
Story.count
en plus court
Story.create(
  :name => 'SitePoint Forums',
  :link => 'http://www.sitepoint.com/forums/')
Story.find(2)
Story.find(:all)
Story.find(:first,:order => 'id DESC')
s=Story.find_by_name('truc')
s.name='machine'
s.update_attribute :name, 'Pouet'
s.destroy

<% Commande ruby %> silentieux
<%= commande ruby %> renvoie


Formulaires :
<% form_for @story do |f| %>
 <%= f.text_field :name %>
 <%= f.text_field :link %>
<% end %>
methodes possibles : text_field, password_field, check_box, text_area
 <%= submit_tag %>


Story.find(:all).each do |s|
s.user_id = 1
s.save
end




Installer un plugin hebergé par git pour rails :
installer git : sudo apt-get install git-core
puis
rails plugin install adresse_du_pluign.git

il s'installe dans le repertoire /vendor/plugin de l'application


Lancement de l'environnement de dev

rails server
spork
autotest

<references/>

Notes

<references/>