用另一个模型填充模型数据的功能

时间:2014-02-11 10:16:30

标签: ruby-on-rails activerecord

我是Rails的新手。我写了两个模型A和B. A和B的模型如下:

 class A < ActiveRecord::Base
   attr_accessible: a1, a2
 end

 class B < ActiveRecord::Base
   attr_accessible: b1,b2
   self.table_name = "b"
 end

实际上这里有一个rake任务,它将每天使用B的数据填充A的数据,以便从rake任务中我们可以调用该函数。我无法理解在哪里编写将用B数据填充A数据的函数。

1 个答案:

答案 0 :(得分:1)

您已经提到过一些rake任务。您可以将代码放在lib/tasks目录中。举个例子:

copy_from_b_to_a.rake

namespace :copy do
  task :from_b => :environment do
    B.all.each do |b|
      a = A.new a1 => b1, a2 => b2
      a.save
    end
  end
end

如果您运行rake -T,您可以看到rake copy:from_b列为任务,当您运行它时,它会尝试复制执行.rake任务中的代码的数据创建

这只是一个使用rake任务的简单例子。