Les générateurs
Générer un model:
1
| $ rails generate model <Mon_model> [champs]
|
1
| $ rails generate model User name:string email:string
|
Le modèle commence avec une majuscule
Génerer une migration
Par exemple: ajouter un champ password au model user
1
| $ rails generate migration add_password_to_users encrypted_password:string
|
Générer un contrôleur
1
| $ rails generate controller <Moncontroleur> [actions]
|
Le contrôleur commence avec une majuscule et se termine avec avec un pluriel
ex:
1
| $ rails generate controller Pages home contact
|
Les tests d’intégration
1
| $ rails generate integration_test layout_links
|
Le scaffold
Permet de générer modèle vue, contrôleur et le reste de l’architecture REST pour une ressource spécifiée:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| $ rails generate scaffold User name:string email:string invoke active_record create db/migrate/20100615004000_create_users.rb create app/models/user.rb invoke test_unit create test/unit/user_test.rb create test/fixtures/users.yml route resources :users invoke scaffold_controller create app/controllers/users_controller.rb invoke erb create app/views/users create app/views/users/index.html.erb create app/views/users/edit.html.erb create app/views/users/show.html.erb create app/views/users/new.html.erb create app/views/users/_form.html.erb invoke test_unit create test/functional/users_controller_test.rb invoke helper create app/helpers/users_helper.rb invoke test_unit create test/unit/helpers/users_helper_test.rb invoke stylesheets create public/stylesheets/scaffold.css
|
Test
Initialiser rspec
Déclarer les gem de rspec
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| source 'http://rubygems.org'
gem 'rails', '3.0.1' gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'
group :development do gem 'rspec-rails', '2.0.1' end
group :test do gem 'rspec', '2.0.1' gem 'webrat', '0.7.1' end `` Puis on initialise les fichiers ```bash rails generate rspec:install
|
EN plus de rspec et rspec-rails, voir pour autotest, spork et les [http://automate-everything.com/2009/08/gnome-and-autospec-notifications/|notifications]
Ne pas oublier d’initialiser la base de test:
Utiliser faker
Le gem faker permet de générer une database de test
1 2 3
| group :development do gem 'faker', '0.3.1' end
|
Mettre à jour lib/tasks/sample_data.rake
Remplir la DB: