用新建scaffold的方法 创建一个带CRUD增删改查操作的 小WEB项目
2011-03-01 10:25
841 查看
【1】新建一个Rails项目,这个就不多说了,我们把这个项目取名为ScaffoldTest
【2】配置好config/database.yml文件,也就是配置好数据库,当然之前要先建好相应的数据库
【3】新建好后,用generate工具,或在命令行敲下面的代码:
$ script/generate scaffold Contact name:string email:string
这是核心命令,意思创建一个模型层对象Contact,有两个字段,一个为name(数据类型为string),另一个为email(数据类型为string)
【3】如果不出意外的话,那就应该成功了,到app文件夹下的Controller、Model、View三个文件夹看看吧,CRUD已经有了,而且出现了四个模板视图:edit.html.erb、index.html.erb、new.html.erb、show.html.erb
【4】运行命令 $rake db:migrate,将db文件夹下生成的代码运行一遍,将该表及其字段相应的在数据库中创建
【5】重启服务器,在浏览器看看吧!
生成的 contacts_controller.rb如下:
【PS】如果此命令出错的话,可能是因为Rails的版本问题,可以参考这里:
http://topic.csdn.net/u/20070513/22/5931d7c7-7451-4cc3-9dc5-ca3afbb0cae8.html?241961724
【2】配置好config/database.yml文件,也就是配置好数据库,当然之前要先建好相应的数据库
【3】新建好后,用generate工具,或在命令行敲下面的代码:
$ script/generate scaffold Contact name:string email:string
这是核心命令,意思创建一个模型层对象Contact,有两个字段,一个为name(数据类型为string),另一个为email(数据类型为string)
【3】如果不出意外的话,那就应该成功了,到app文件夹下的Controller、Model、View三个文件夹看看吧,CRUD已经有了,而且出现了四个模板视图:edit.html.erb、index.html.erb、new.html.erb、show.html.erb
【4】运行命令 $rake db:migrate,将db文件夹下生成的代码运行一遍,将该表及其字段相应的在数据库中创建
【5】重启服务器,在浏览器看看吧!
生成的 contacts_controller.rb如下:
class ContactsController < ApplicationController # GET /contacts # GET /contacts.xml def index @contacts = Contact.all respond_to do |format| format.html # index.html.erb format.xml { render :xml => @contacts } end end # GET /contacts/1 # GET /contacts/1.xml def show @contact = Contact.find(params[:id]) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @contact } end end # GET /contacts/new # GET /contacts/new.xml def new @contact = Contact.new respond_to do |format| format.html # new.html.erb format.xml { render :xml => @contact } end end # GET /contacts/1/edit def edit @contact = Contact.find(params[:id]) end # POST /contacts # POST /contacts.xml def create @contact = Contact.new(params[:contact]) respond_to do |format| if @contact.save flash[:notice] = 'Contact was successfully created.' format.html { redirect_to(@contact) } format.xml { render :xml => @contact, :status => :created, :location => @contact } else format.html { render :action => "new" } format.xml { render :xml => @contact.errors, :status => :unprocessable_entity } end end end # PUT /contacts/1 # PUT /contacts/1.xml def update @contact = Contact.find(params[:id]) respond_to do |format| if @contact.update_attributes(params[:contact]) flash[:notice] = 'Contact was successfully updated.' format.html { redirect_to(@contact) } format.xml { head :ok } else format.html { render :action => "edit" } format.xml { render :xml => @contact.errors, :status => :unprocessable_entity } end end end # DELETE /contacts/1 # DELETE /contacts/1.xml def destroy @contact = Contact.find(params[:id]) @contact.destroy respond_to do |format| format.html { redirect_to(contacts_url) } format.xml { head :ok } end end end
【PS】如果此命令出错的话,可能是因为Rails的版本问题,可以参考这里:
http://topic.csdn.net/u/20070513/22/5931d7c7-7451-4cc3-9dc5-ca3afbb0cae8.html?241961724
相关文章推荐
- web开发——4.一个完整的web项目和子应用程序的创建以及数据模型操作的两种方法
- 新建ASP.NET项目时出现错误的解决方法(尝试创建WEB项目...)
- eclipse maven创建一个maven web项目,以及创建过程中的报错解决方法
- 如何用C#创建一个类并在其他Web页中调用该类的方法(2)
- 新建的web项目的jsp页面报错的解决方法
- (一)使用IDEA新建一个最简单的JavaWeb项目,Maven管理
- 新建的web项目的jsp页面报错的解决方法
- 用vs.net新建web项目时提示错误“尝试创建web项目或打开位与http://localhost/webapplication1的web项目时无法与服务器建立连接”
- idea 创建一个web项目
- 使用Makefile管理一个小项目:链表的增删改查操作和测试程序
- 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用(转载)
- JavaEE完全实战详解笔记--在Eclipse中创建一个简单的web项目
- IntelliJ IDEA ---创建一个web项目
- ItelliJ IDEA开发工具使用—创建一个web项目(转)
- 修改MyEclipse下创建Web项目中新建Jsp的默认编码格式
- vue-cli + webpack 新建项目出错的解决方法
- IntelliJ IDEA开发工具使用—创建一个web项目
- mac 使用MyEclipse时遇到无法创建web项目问题解决方法
- .net同一个解决方案下面多个web项目的解决方法
- php yii框架web项目连接数据库以及crud操作