Pablo, la migration no te va a modificar los archivos de las vistas
para mostrarte el campo precio. la migration te agrega el campo a la
tabla. Vos deberias de actualizar los rhtml que te generó el scaffold
(cuando todavia no existia el campo precio).

Saludos,

Damian Garcia.

2009/11/27 Pablo Brunet <[email protected]>:
> Hola a todos! com todo novato sigo con problemas a la hora de seguir
> los ejemplos de un libro. en este caso no me agrega una columna a la
> tabla que anteriormente me creo un scaffold se trata de la famosa
> aplicacion "depot":
>
> 1º creo la apliacion "rails depot" y me crea el racimo la estructura
> luego... cd depot..
>
> creo el scaffold:
>
> C:\depot>ruby script/generate scaffold producto nombre:string 
> descripcion:text i
> mage_url:string
>      exists  app/models/
>      exists  app/controllers/
>      exists  app/helpers/
>      create  app/views/productos
>      exists  app/views/layouts/
>      exists  test/functional/
>      exists  test/unit/
>      exists  public/stylesheets/
>      create  app/views/productos/index.html.erb
>      create  app/views/productos/show.html.erb
>      create  app/views/productos/new.html.erb
>      create  app/views/productos/edit.html.erb
>      create  app/views/layouts/productos.html.erb
>      create  public/stylesheets/scaffold.css
>      create  app/controllers/productos_controller.rb
>      create  test/functional/productos_controller_test.rb
>      create  app/helpers/productos_helper.rb
>       route  map.resources :productos
>  dependency  model
>      exists    app/models/
>      exists    test/unit/
>      exists    test/fixtures/
>      create    app/models/producto.rb
>      create    test/unit/producto_test.rb
>      create    test/fixtures/productos.yml
>      create    db/migrate
>      create    db/migrate/20091128034316_create_productos.rb
>
> C:\depot>rake db:migrate
> (in C:/depot)
> ==  CreateProductos: migrating 
> ================================================
> -- create_table(:productos)
>   -> 0.0780s
> ==  CreateProductos: migrated (0.0780s) 
> =======================================
>
> hasta aca todo perfecto lo pruebo en el navegador y la aplicacion de
> mantenimiento anda muy bien, el problema es cuando le quiero agregar
> una columna a la tabla productos:
>
> C:\depot>ruby script/generate migration add_precio_to_productos precio:decimal
>      exists  db/migrate
>      create  db/migrate/20091128034634_add_precio_to_productos.rb
>
> C:\depot>rake db:migrate
> (in C:/depot)
> ==  AddPrecioToProductos: migrating 
> ===========================================
> -- add_column(:productos, :precio, :decimal)
>   -> 0.1710s
> ==  AddPrecioToProductos: migrated (0.1710s) 
> ==================================
>
> he aqui el problema que al correr la aplicacion la columna precio no
> aparece por ninguna parte. A continuacion muestro mis files:
>
> 20091128034634_add_precio_to_productos.rb:
>
> class AddPrecioToProductos < ActiveRecord::Migration
>  def self.up
>    add_column :productos, :precio, :decimal
>  end
>
>  def self.down
>    remove_column :productos, :precio
>  end
> end
>
> schema.rb:
>
> ActiveRecord::Schema.define(:version => 20091128034634) do
>
>  create_table "productos", :force => true do |t|
>    t.string   "nombre"
>    t.text     "descripcion"
>    t.string   "image_url"
>    t.datetime "created_at"
>    t.datetime "updated_at"
>    t.decimal  "precio"
>  end
>
> end
>
> desde ya muchas gracias
> ----------------------------------------------------------
> Ruby 1.8.6
> Rails 2.2.2
> Gems 1.3.5
> Ejemplo Books: Agile Web Development with Rails - Third Edition
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a