读书人

rails 三 generate scaffold 会用到

发布时间: 2012-11-19 10:18:51 作者: rapoo

rails 3 generate scaffold 会用到
一个可能要知道model的数据格式都支持什么
可以支持的数据类型

一个是如果要是创建完了,发现不满意怎么办呢

例如,运行如下:

rails g scaffold task project_id:integer name:string


我的话,第一想到的是git checkout或者git reset
实际上,用如下更合适

rails destroy scaffold task


那么,要是生成了scaffold并且,用了一段了时间了呢

可以先把数据库版本退回来
rake db:rollback STEP=3


当然,通常有数据就不建议rollback了,就要

就要
rails generate migration AddPartNumberToProducts part_number:string

class AddPartNumberToProducts < ActiveRecord::Migration  def self.up    add_column :products, :part_number, :string  end   def self.down    remove_column :products, :part_number  endend


rails generate migration RemovePartNumberFromProducts part_number:string
class RemovePartNumberFromProducts < ActiveRecord::Migration  def self.up    remove_column :products, :part_number  end   def self.down    add_column :products, :part_number, :string  endend


class ExampleMigration < ActiveRecord::Migration   def self.up    create_table :products do |t|      t.references :category    end    #add a foreign key    execute <<-SQL      ALTER TABLE products        ADD CONSTRAINT fk_products_categories        FOREIGN KEY (category_id)        REFERENCES categories(id)    SQL     add_column :users, :home_page_url, :string     rename_column :users, :email, :email_address  end   def self.down    rename_column :users, :email_address, :email    remove_column :users, :home_page_url    execute "ALTER TABLE products DROP FOREIGN KEY fk_products_categories"    drop_table :products  endend





参考:
http://asciicasts.com/episodes/216-generators-in-rails-3
http://guides.rubyonrails.org/migrations.html
http://www.viget.com/extend/rails-3-generators-the-old-faithful/
1 楼 tiroc 2011-06-09 太好了,能直接destroy方便多了 2 楼 vivei 2011-07-11 如果没有数据还是用你前面说的方法方便些,如果有数据并且已经被别的记录覆盖了,还是使用最后的保险一些

读书人网 >网络基础

热点推荐