`

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
  end
end


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
  end
end


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
  end
end





参考:
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/
分享到:
评论
2 楼 vivei 2011-07-11  
如果没有数据还是用你前面说的方法方便些,如果有数据并且已经被别的记录覆盖了,还是使用最后的保险一些
1 楼 tiroc 2011-06-09  
太好了,能直接destroy方便多了

相关推荐

    ruby rails demo

    ruby rails demo, rails 简单demo。 ...(2)安装Rails3 gem install rails (3)安装sqlite3 gem install ...rails generate scaffold Post name:string title:string content:text rake routes 显示路由config/routes.rb

    centOS Rails3环境搭建

    rails generate scaffold person name:string bio:text birthday:date ``` - **模型创建与删除**: ```bash rails generate model article rails destroy model article ``` - **控制器创建**: ```bash ...

    Ruby on Rails入门例子

    2. 创建资源:使用`rails generate controller Posts`生成控制器,再用`rails generate scaffold Post title:string content:text`生成模型和相关的控制器、视图及路由。 3. 迁移数据库:编写迁移文件,更新数据库表...

    中文版rails教程

    1. **生成资源(Generating Resources)**:使用`rails generate`命令可以快速创建模型、控制器、视图等文件,如`rails generate scaffold Post title:string content:text`会生成一个名为Post的资源,包含相关的...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    此外,`rails generate scaffold`命令也变得更加灵活,可以自定义模板。 4. Rails 4.0: Rails 4带来了大量的改变和优化。最显著的是加入了Strong Parameters,提高了安全性,避免了Mass Assignment漏洞。另外,它...

    Ruby on Rails Tutorial Learn Rails by Example 的源代码

    10. **Scaffolding**:在`sample_app`中,你可能会看到一些由`rails generate scaffold`命令自动生成的代码,这是一种快速构建基本CRUD(创建、读取、更新、删除)功能的方法。 11. **安全**:`sample_app`可能包含...

    Rails 101S

    - 示例:通过`rails generate scaffold Topic title:string description:text`创建一个Topic模型及其关联的CRUD操作。 - **整合Bootstrap与版型设置**:介绍如何将Bootstrap框架集成到Rails应用中,并设置基础版型...

    react-scaffold-generate:用于React项目的脚手架发电机

    该项目是为React rails scaffold generate的rails scaffold generate的端口。 您可以在此处了解有关更多信息。 我主要将其用于其MVC(模型,视图,控制器)生成器。 它抽象化了CRUD操作,表单生成,表单验证,列表...

    many-to-many-through:这是使用has_many的许多示例教程

    $ rails generate scaffold Staff full_name : string position : string $ rails generate scaffold Client full_name : string business_name : string $ rails generate model relationship 键入终端后打开db/

    ruby on rails实践

    例如,`rails generate scaffold User name:string email:string`会生成一个User模型、对应的控制器、视图和数据库迁移文件。 七、数据库与迁移(Migrations) Rails使用SQLite、MySQL、PostgreSQL等数据库。数据库...

    rails有用的命令

    - `rails generate scaffold Product title:string description:text image_url:string`:自动生成包括模型、控制器、视图和迁移文件的CRUD(创建、读取、更新、删除)功能。 10. **验证器**: - `validates ...

    ruby on rails开发

    例如,`rails generate scaffold User name:string email:string`将生成一个名为User的资源,包含对应的模型、控制器、视图和数据库迁移。 9. **数据库迁移(Database Migration)** Rails使用ActiveRecord库处理...

    资源for rails

    9. **Scaffolding**:Rails的`rails generate scaffold`命令能快速生成一个包括模型、控制器、视图和测试在内的基本CRUD应用,方便快速原型开发。 10. **Webpacker和Asset Pipeline**:Webpacker负责管理前端资产,...

    ruby on rails轻松使用

    只需一条命令,如`rails generate scaffold Post title:string content:text`,就能快速搭建一个博客文章的框架。 8. **Helper方法**: 视图中可以使用helper模块来封装通用的UI逻辑,提高代码复用性。 9. **测试...

    rails 15 分钟博客

    3. 设计数据模型:例如,创建一个Post模型,表示博客文章,通过`rails generate model Post title:string content:text`。 4. 迁移数据库:运行`rails db:migrate`,应用数据库迁移,创建posts表。 5. 创建控制器:`...

    Rails相关电子书汇总二

    4. **Rails生成器**:如`rails new`、`generate scaffold`等命令的用法,它们能快速生成应用的基本结构。 5. **路由**:讲解Rails的RESTful路由,如何配置和理解路由规则。 6. **视图**:HTML、ERB模板语法,以及...

    rails/简易报告整理网页版

    通过执行`rails generate scaffold`命令,Rails会自动生成控制器、模型、视图、样式表、测试文件等,极大地提高了开发速度。在这个项目中,脚手架可能被用来快速搭建基础的报告管理界面。 2. **上传下载文件** ...

    RESTful Rails Development

    例如,如果有一个 `User` 模型,可以运行命令 `rails generate scaffold User name:string email:string` 来生成相应的代码。 #### 1.6 模型 在 RESTful 应用程序中,模型代表了应用程序的数据结构。例如,`User` ...

    让脚手架直接生成Haml模板

    5. **运行脚手架**:现在,当你运行`rails generate scaffold ResourceName`命令时,Rails将会生成使用Haml语法的模板文件。 标签中的“源码”意味着这涉及到对项目源代码的修改,而“工具”则表明我们正在讨论的是...

Global site tag (gtag.js) - Google Analytics