rake db:seed实例

网站开发中,数据库经常会变化,一些测试数据重复输入的话会非常麻烦,这时候就可以rake db:seed来进行一些数据的初始化,其会调用db/seeds.rb这个文件,实例说明之.

1.新建Model,名称为Blog

执行rails g model Blog content:string created:datetime title:text

会新建一个app/models/Blog.rb,内容如下:

class Blog < ActiveRecord::Base
  attr_accessible :content, :created, :title
end

 

2.打开db/seeds.rb文件,添加如下语句:

#encoding: utf-8

t=Time.now
# Blog.create(:Title=>"中文第一版",:Created=>t,:Content=>"真实的中文第一版")

#错误的初始化,会让rake db:seed报如下错误:
# rake aborted!
# Can't mass-assign protected attributes: title, created, content
# Blog.create(:title=>"中文第一版",:created=>t,:content=>"真实的中文第一版")

 

Blog.create({:title=>"中文第一版",:created=>t,:content=>"真实的中文第一版"})
Blog.create({:title=>"中文第二版",:created=>t,:content=>"中华人民共和国"})
#如果需要时间,直接写就是,不用加上#{},其表示的是个字符串
# Blog.create({:title=>"中文第三版",:created=>#{Time.now},:content=>"中华人民共和国"})
Blog.create({:title=>"中文第三版",:created=>Time.now,:content=>"中华人民共和国"})

 

3.执行rake db:seed

然后运行rails s,在浏览器里面输入http://192.168.1.107:3000/blogs

如图:

image

证明seeds.rb中的数据便保存到了db/development.sqlite3这个数据库文件中.

posted @ 2012-11-04 22:09  爱玩的安哥  阅读(2642)  评论(0编辑  收藏  举报