0

Ruby on Rails アプリケーション (ruby 1.8.7 ; rails 2.3.18) があります。2 つの配列を比較し、その差を 3 番目の配列 (arr3 = arr1 - arr2) に格納する、カスタマイズされたrake タスク (基本的には ruby​​ プログラム) があります。アプリケーションにはユーザーモデルがあります。また、モデル/データベースからユーザーを一時停止 (削除) するデータベース スクリプトがあります。そこで、作成後に rake タスクからこのデータベース スクリプトを呼び出したいと思いますarr3arr3すべての要素が削除されるまで、このスクリプトを実行したいと思います。配列は、ユーザーの 2 つのリストの違いを示します。

誰でもこれについて私を案内できますか? rake タスクからデータベース スクリプトを呼び出すにはどうすればよいですか? これに関するものは何でも大いに役立ちます。

rake ファイルは次のとおりです。

namespace :db do
arr1 = Array.new 
arr2 = Array.new 
arr3 = Array.new

desc "load data from csv"
task :load_is_data do
  require 'fastercsv'
  CSV.foreach("C:/Sites/rails_project/demo_app/list1.csv") do |row|
arr1 << row[0]
  end

 CSV.foreach("C:/Sites/rails_project/demo_app/list2.csv") do |row|
arr2 << row[0]
  end

  arr3 = arr1-arr2 
  puts "Inactive: #{arr3}"

 #CODE TO BE ADDED, TO CALL DATABASE-SCRIPT

 end
end

ありがとう、バルガフ

4

1 に答える 1

0

以下の宝石を使用できます。

gem "populator", "~> 1.0.0"
gem 'faker'
gem "random_data", "~> 1.6.0"

コードはこのようなものになります。

admin = AdminUser.create :email => 'xxxxxx@gmail.com', :password => 'xxxx1234', :password_confirmation => 'xxxx1234', :role => 'SuperAdmin', :name => 'SuperAdmin'
  puts 'SuperAdmin created: ' << admin.email



      10.times do |index|
        User.create! :fname => Random.firstname,
          :lname => Random.lastname,
          :email => Random.email,
          :password => 'dcs1234',
          :password_confirmation => 'dcs1234'
      end
于 2013-04-26T08:22:01.410 に答える