Ciao a tutti,
sto muovendo i primi passi con rails e dopo aver letto un po di
tutorial, mi sono accorto che rails 2.1 cambia (soprattutto) il modo di
gestire lo scaffolding e sto cercando di adattare gli esempi che ho
trovato a rails 2; avrei bisogno di alcuni chiarimenti, che forse sono
banali, ma giusto per non avere dubbi fin dall’inizio:
Problema: creare una TodoList
ho 2 tabelle: una rappresenta le liste ed una rappresenta le cose da
fare; la relazione todos --> todo_items è 1 a molti
Quindi:
ruby script/generate scaffold Todo name:string done:integer
rake db:migrate
ruby script/generate scaffold Todo_Item name:string done:integer
todos_id:integer
rake db:migrate
e fin qui tutto bene nel senso che mi crea le tabelle ed il resto in
modo corretto
Domanda: nella tabella degli Items viene creato il campo per la chiave
importata (todos_id) ma la foreign key la devo creare io, è corretto
oppure sbaglio qualcosa ?
D: se voglio aggiungere un campo lo aggiungo nel db e lo posso già
gestire con la model corrispondente, naturalmente dovrò aggiungerlo a
mano in tutti i file creati dallo scaffolding (ad esempio nelle viste)
oppure c’è un modo per rigenerare tutto automaticamente ?
Quando inserisco le relazioni nelle model scrivo
file todo.rb
class Todo < ActiveRecord::Base
has_many:todo_items
end
file todo_item.rb
class TodoItem < ActiveRecord::Base
belongs_to:todo
end
Domanda: il valore degli attributi has_many e belongs_to è il nome della
model oppure quello della tabella (todo è il nome della tabella ma
singolare ?? Però negli esempi fa così…). Il mio dubbio è che non so
mai a cosa mi devo riferire …
se da console scrivo:
lista1=Todo.new
=> #<Todo id: nil, name: nil, done: nil, created_at: nil, updated_at:
nil>lista1.name=“Lista cose fare”
=> “Lista cose fare”lista1.done=0
=> 0item1=Todo_Item.new
LoadError: Expected
/home/Luigi/myScripts/RoR/todo/app/models/todo_item.rb to define
Todo_Item
from
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:261:in
load_missing_constant' from /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:467:in
const_missing’
from
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:479:in
`const_missing’
from (irb):4
ottengo questo errore
Qualcuno da indicarmi dove posso trovare esempi magari già con rails 2ml ?
Grazie a tutti in anticipo !