Netbeans下使用Rails进行CRUD操作

   经过几天的接触,渐渐的发现rails是真的很强大,利用rails开发一个crud操作是一件很简单的事情。怎么,你不相信?嘿嘿,马上你就会相信了哇。

   我们来想一下,开发一个CRUD操作我们需要什么呢。要建数据库对吧。好把。那么我们先新建的数据库把。因为Rails默认的使用Mysql服务器。所以我们这里使用Mysql作为我们的服务器。我们使用命令行的方式创建数据库吧。首先来看下下面的数据库创建语句

 

CREATE DATABASE `product_development` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

 

    大家看见了,我们创建了一个名为product_development的数据库,我们在这里指定了数据库的编码格式为utf8的格式(mysql数据库的默认格式是拉丁字符)。这里指定编码的目的是解决数据库操作时候的中文乱码问题。我们必须保证页面,数据库,后台都为统一的数据格式。这里我们统一了UTF8的格式。

    创建好数据库以后,我们就需要开始创建我们的Rails的工程了。我们利用的是Netbeans进行开发。Netbeans是目前市面上支持Rails最好的一款开发工具。我们只需要在Netbeans里面点击新建项目—Ruby on Rails项目。然配置相关信息。选择相关平台,选择服务器(webrick),指定连接的数据库。按照向导的指示我们就可以创建我们的第一个rails程序。

    我们在我们的工程目录下的配置(config)文件夹下可以看见一个database.yml文件(rails号称不需要使用xml进行文件配置,NND这里用了一个yml。这个莫非是xml他儿子?我看有点像啊)。我们打开这个yml文件

 

development:
  adapter: mysql
  encoding: utf8
  database: product_development
  username: root
  password: sa
  host: localhost

 

   我们可以很容易的看出来这个配置文件所描述的内容是描述数据库的配置信息的。具体内容我就不详解了,只是说下database这个选项。rails默认的会将工程和工程名_development的数据库进行连接。我们创建的工程名是product,所以默认的该工程将会和product_development数据库进行连接。

   我们的数据库和工程都建完了,下面我们要干什么呢?对哦,我们是要说CRUD操作。没有数据表怎么行呢?我们去数据库中创建表把。NO,NO,NO。不需要那么麻烦了。Rails框架提供了migration插件(暂且这么称之为把)。利用这个migration可以很方便的创建数据库表,修改数据库表。

   假设一下我们现在需要创建一个产品表吧。我们只需要在该工程下创建一个migration。在参数栏里面填入参数createpoduct点击确定。这时候我们就可以在数据库迁移(db)目录下的看见一个migrate目录。里面包含一个_createproduct.rb的文件。打开该文件,修改该文件的内容,如下面代码所示:

 

class CreateProducts < ActiveRecord::Migration
  def self.up
    create_table :products do |t|
      t.string :name
      t.text :description
      t.timestamps
    end
  end

  def self.down
    drop_table :products
  end
end

   来分析下上面的代码吧,我们主要看下self.up这个方法。这个方法创建了一个名为products的数据表。这个表当中有如下字段name vchar ; description text ; create_time ;update_time;我们这个时候使用netbeans的数据库迁移,迁移至当前版本。我们在console下打开数据库,使用desc products就可以看见已经创建该表了。

   这个时候我们突然发现少了一个字段,假设这个商品我们需要使用价格。怎么办呢?我们需要添加一个价格字段。我们还是新建一个migration。参数填写addprice。点击确定,我们可以看见一个_add_price.rb文件。修改该文件内容:

 

class AddPrice < ActiveRecord::Migration
  def self.up
    add_column :products, :price, :decimal,
      :precision => 8,
      :scale => 2,
      :default=>0
  end

  def self.down
  end
end

   使用数据库迁移,我们就很简单的向products表当中添加了一个8位数,小数点后两位的价格字段。

 

   现在数据表有了,我们该对这个表进行操作了吧。是的,就是这样的。这里我们就要用到rails一个很强大的功能了—scaffold(脚手架)。恩,我们在Netbeans当中新建一个脚手架(sacffold)吧。模式名称就填写Product(模式是和数据表对应的,看过ORM的应该对这个都比较的熟悉,不过这里要说明的是一般rails当中的数据库表名称都是复数,而模式名称为表名称的单数形式,且首字母大写),在参数栏里面填写name:string description:text price:float点击确定。我们就创建好了一个脚手架。

   到现在为止,我们已经完成了一个CRUD的大部分操作了。怎么?你还是不相信?那么请你运行你的服务器。在浏览器的地址当中输入

 

http://localhost:3000/products

 恩,看到结果了吧。ROR就是这么强大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值