insert_fixtures被弃用或移走

古典概型 2011-12-01 04:38:58
我在看《RailsSpace-Building a Social Networking Website with Ruby on Rails》这本书,在第十章时作者使用了
require 'active_record'
require 'active_record/fixtures'

namespace :db do
DATA_DIRECTORY = "#{Rails.root.to_s}/lib/tasks/sample_data"
namespace :sample_data do
TABLES = %w(users specs faqs)
MIN_USER_ID = 1000 # Starting user id for the sample data

desc "Load sample data"
task :load => :environment do |t|
class_name = nil # Use nil to get Rails to figure out the class.
TABLES.each do |table_name|
fixture = ActiveRecord::Fixtures.new(ActiveRecord::Base.connection,
table_name, class_name,
File.join(DATA_DIRECTORY, table_name.to_s))
#fixture.insert_fixtures
fixture.dclone
puts "Loaded data from #{table_name}.yml"
end
end

desc "Remove sample data"
task :delete => :environment do |t|
User.delete_all("id >= #{MIN_USER_ID}")
Spec.delete_all("user_id >= #{MIN_USER_ID}")
Faq.delete_all( "user_id >= #{MIN_USER_ID}")
end
end
end
这段代码来从yml文件向数据库中加载数据
但我在运行时有这样的错误提示:
undefined method `insert_fixtures' for #<ActiveRecord::Fixtures:0x1d56830>
查了一下,说是insert_fixtures这个函数从rails 3.1.0之后就弃用或移走了。
现在请教下从yml文件加载数据的新方法
...全文
157 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
andyxl 2011-12-19
  • 打赏
  • 举报
回复
load_file 返回一个hash
andyxl 2011-12-19
  • 打赏
  • 举报
回复
这有什么原理,加载 yml文件

load_file会返回一个hash
骄傲青蛙 2011-12-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 whypcgames 的回复:]

引用 1 楼 andyxl 的回复:
YAML::load_file("#{RAILS_ROOT}/config/xxxx.yml")

楼上能讲讲这句话神马意思吗
[/Quote]

现在请教下从yml文件加载数据的新方法
------------------------------------

database = YAML::load_file("#{RAILS_ROOT}/config/xxxx.yml")
古典概型 2011-12-06
  • 打赏
  • 举报
回复
这几天忙着写服务器,过两天试试楼上两位的方法
古典概型 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 andyxl 的回复:]
YAML::load_file("#{RAILS_ROOT}/config/xxxx.yml")
[/Quote]
楼上能讲讲这句话神马意思吗
古典概型 2011-12-02
  • 打赏
  • 举报
回复
楼上能讲讲这句话神马意思吗?
andyxl 2011-12-02
  • 打赏
  • 举报
回复
YAML::load_file("#{RAILS_ROOT}/config/xxxx.yml")

2,763

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ruby/Rails
社区管理员
  • Ruby/Rails社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧