Forum: Rails France Routes (2)

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Bolo M. (Guest)
on 2006-04-07 19:28
(Received via mailing list)
Salut,

Donc je suis en train de refaire l'appli. En utilisant note et notes

class SampleDBB < ActiveRecord::Migration
  def self.up
    puts 'Creation de la table: Note'
    create_table :note, :force => true do |t|
      t.column :title, :string
      t.column :body, :text
      t.column :created_at, :datetime
    end
  end

  def self.down
    drop_tables :note
  end
end

Quand je tape
rake migrate

J'ai ce jolis message :(
rake aborted!
uninitialized constant SampleDbb

Je me suis gourée ou ?

Bolo
guillaume garcera (Guest)
on 2006-04-07 23:30
(Received via mailing list)
As tu configuré ton acces a la base de donné dans ton fichier config.yml
De plus, il faut que tu nomme ta table notes et pas note.

La convention est la suivante :
	- le nom des tables doit etre au pluriel (une table contient des
enregistrements)
	- le nom des models doit etre au singulier (ca represente un model
de donné)
	- le nom des controller doit etre au pluriel (un controller gere
plusieurs objets model)


Le 7 avr. 06 à 17:28, Bolo M. a écrit :

> class SampleDBB < ActiveRecord::Migration
>   def self.up
>     puts 'Creation de la table: Note'
>     create_table :note, :force => true do |t|
	create_table :notes
>       t.column :title, :string
>       t.column :body, :text
>       t.column :created_at, :datetime
>     end
>   end
>
>   def self.down
>     drop_tables :note
	c'est drop_table :note la
> Je me suis gourée ou ?
Voila HTH
Bolo M. (Guest)
on 2006-04-08 08:39
(Received via mailing list)
Merci guillaume pour tes explications.
J'ai corrigé j'ai rajoutés un s à note.

class SampleDBB < ActiveRecord::Migration
  def self.up
    puts 'Creation de la table: Note'
    create_table :notes, :force => true do |t|
      t.column :title, :string
      t.column :body, :text
      t.column :created_at, :datetime
    end
  end

  def self.down
    drop_tables :notes
  end
end

voila le fichier database.yml
development:
  adapter: sqlite3
  database: db/monApp.sqlite3

test:
  adapter: sqlite3
  database: db/monApp.sqlite3

production:
  adapter: sqlite3
  database: db/monApp.sqlite3

la migration ne s'effectue pas :(

Le 07/04/06, guillaume garcera<removed_email_address@domain.invalid> a écrit :
Richard P. (Guest)
on 2006-04-08 16:18
(Received via mailing list)
>
> la migration ne s'effectue pas :(

renomme ta classe de migration en  'SampleDbb' au lieu de 'SampleDBB':

class SampleDbb < ActiveRecord::Migration
...
end

Richard
Bolo M. (Guest)
on 2006-04-08 16:49
(Received via mailing list)
> renomme ta classe de migration en  'SampleDbb' au lieu de 'SampleDBB':
super ca marche.

Le fait d'avoir mis des majuscule dans le nom de la bdd a posé
problème c'est ca ?

guillaume m'avait expliquer ceci
"Après avoir jeté un coup d'oeil au code, voici la ligne qui pose
problème,
dans l'action list du contrôleur Notes :
@notes_pages, @notes = paginate :notes, :per_page => 10
Avec cette ligne, il va chercher un modèle "Note" (singulier de
"notes").
Mais ton modèle est un pluriel, donc il ne le trouve pas, et plante
(d'où
le "uninitialized constant Note")."

Je pensais bettement avoir compris. Qu'il fallait que je créer un
controlleur 'note' et non note. J'ai donc tapé dans le terminal .

 script/generate scaffold note

Ca me créer toujours un controlleur "notes" et non "note", mais
malheurs je vois toujours "notes_controller.rb" et non
"note_controller.rb"

:( J'ai peut être rien capté aussi

Bolo
guillaume garcera (Guest)
on 2006-04-08 17:20
(Received via mailing list)
Le 8 avr. 06 à 14:47, Bolo M. a écrit :

>> renomme ta classe de migration en  'SampleDbb' au lieu de
>> 'SampleDBB':
> super ca marche.
>
> Le fait d'avoir mis des majuscule dans le nom de la bdd a posé
> problème c'est ca ?
Par contre pour des raison de simplicité a la relecture, on esseye de
creé un fichier de migration par model. C'est pour cela que dans la
verson 1.1 de Rails, quand tu genere un model , il te creer un
fichier de migrations
associé.Ex

[03:13:51]lePrecieux[sampleApp]$ script/generate model note
       exists  app/models/
       exists  test/unit/
       exists  test/fixtures/
       create  app/models/note.rb
       create  test/unit/note_test.rb
       create  test/fixtures/notes.yml
       create  db/migrate
       create  db/migrate/001_create_notes.rb
[03:14:10]lePrecieux[sampleApp]$

Apres si tu as besoin de modifié une table deja existant tu genere un
nouveau fichier.
De Plus tu peut aussi generé un fichier de migration en passant par
le generateur integré a Rails
Ex
[03:17:50]lePrecieux[sampleApp]$ script/generate migration
addNoteTimestamp
       exists  db/migrate
       create  db/migrate/002_add_note_timestamp.rb
[03:18:25]lePrecieux[sampleApp]$

De cette maniere nes nom de classe sont bons.

>
> [Snip]...
>
>  script/generate scaffold note
> Ca me créer toujours un controlleur "notes" et non "note", mais
> malheurs je vois toujours "notes_controller.rb" et non
> "note_controller.rb"

C'est bien le scaffold prend comme argument ne nom du model
corespondant pour generer le controller et le reste
Le nom du model est Note au masculin et il va generer un
notes_controller au pluriel c'est la convention, les controller sont
toujours au pluriel.

> :( J'ai peut être rien capté aussi
Mais non on a tous luté au debut

Voila HTH

--
May the force be wih you young padawan.
Bolo M. (Guest)
on 2006-04-08 17:53
(Received via mailing list)
Alors si j'ai bien tout compris.

>script/generate migration sampledbb (créer la dbb)

>script/generat scaffold note (génére le controlleur )

>script/generate model note (génére le model)

donc pour ne pas avoir de problème au lieu de faire

>rake migrate
> script/generate scaffold note

je fais plus tot

>script/generate model note

Bolo
guillaume garcera (Guest)
on 2006-04-08 18:05
(Received via mailing list)
Le 8 avr. 06 à 15:51, Bolo M. a écrit :

> Alors si j'ai bien tout compris.
>
>> script/generate migration sampledbb (créer la dbb)
Normelement pas besoin , la bdd sera crée lors de l'exécution du la
1ere migration
>
>> script/generat scaffold note (génére le controlleur )
Oui tout a fait
>
>> script/generate model note (génére le model)
c'est bon aussi
>
> donc pour ne pas avoir de problème au lieu de faire
>
>> rake migrate
>> script/generate scaffold note
>
> je fais plus tot
>
>> script/generate model note
Apres tu rempli ton fichier de migration
Puis
rake environment RAILS_ENV=development migrate comme cela tu migre
seulemnt la base de dev
Puis
script generate scaffold note

> Bolo
>

--
May the force be wih you young padawan.
Bolo M. (Guest)
on 2006-04-08 18:24
(Received via mailing list)
Donc je fais comme ca

1. Je créer mon application
2. je configure mon fichier database.yml
3  je génère le model 'note'
4. apres je configure mon fichier de migration (pour ma table)
5. rake environment RAILS_ENV=development migrate (la je migre ma dbb
pour la partie dev)

6. Je génére le controlleur 'note'

C'est ca ?
guillaume garcera (Guest)
on 2006-04-08 18:39
(Received via mailing list)
Le 8 avr. 06 à 16:23, Bolo M. a écrit :

> Donc je fais comme ca
>
> 1. Je créer mon application
> 2. je configure mon fichier database.yml
> 3  je génère le model 'note'
> 4. apres je configure mon fichier de migration (pour ma table)
> 5. rake environment RAILS_ENV=development migrate (la je migre ma dbb
> pour la partie dev)
>
> 6. Je génére le controlleur 'note'

script/generate scaffold note génère  tout le code dit "scaffold"
ou si tu veut tout écrire par toi même (pas conseillé au debut)
script/generate controller notes génère un controller vierge

>
> C'est ca ?

Oui c'est bien ca.
Et la tu verra la magie de rails, tu n'aura plus qu'a pointé ton
navigateur sur ton appli e regardé la puissance de Rails.
Vincent J. (Guest)
on 2006-04-10 13:55
(Received via mailing list)
>
> >> script/generat scaffold note (génére le controlleur )
> Oui tout a fait
>

Bah non en fait :x
Scaffold te genere l'ensemble controller, model, view en créant les
actions
classiques dites CRUD (Create, Read, Update et delete).


>> script/generate model note (génére le model)
> c'est bon aussi
>

 Ca c'est correct, mais si tu fais un scaffold, le model est deja créé.

Don si tu veux créer l'ensemble, sans passer par le scaffold, il faut
que tu
tapes:

- script/generate model Note
- script/generate controller Note
- créer les views dont tu as besoin dans
app/view/note/nom_de_ta_vue.rhtml
Bolo M. (Guest)
on 2006-04-10 16:01
(Received via mailing list)
> Don si tu veux créer l'ensemble, sans passer par le scaffold, il faut que tu
> tapes:
>
> - script/generate model Note
> - script/generate controller Note
> - créer les views dont tu as besoin dans
> app/view/note/nom_de_ta_vue.rhtml
>

Tout ce que je veux en fait. C'est arriver a faire en sorte de ne plus
avoir de problèmes avec les singuliers/pluriels. Et de ne pas faire
des choses également inutil. Comme générer deux fois un model :) avec
deux méthodes différentes

Bolo
This topic is locked and can not be replied to.