2017-01-10 3 views
0

私はすべての会場をフィルタリングし、external_join_urlのないものを作成したCSVに追加しようとしています。私はそうしようとするとRails - アクティブレコードの関係をCSVに渡す

require 'csv' 
namespace :create_dump do 
    desc "Erase and fill database" 
    task :venue => :environment do 

    @venues = Venue.where(external_join_url: nil) 
    CSV.open("venues_without_join_url.csv", "w") do |csv| 
     csv << ["Venue Title"] 
     @venues.each do |venue| 
     csv << venue.title 
     end 
    end 
    end 
end 

、私はエラーを取得する:

NoMethodError: 『5パンクラス広場』のための未定義のメソッド `マップ」:文字列

は、私は、これは私がしようとしている意味を取得文字列をマップするのに、文字列を作成する部分を見ることができません。私は@venuesを割り当てる(配列を作成し、それにショベルを入れる)さまざまな方法を無駄にしようとしました。

答えて

1

CSV < <は、必ずCSVファイルの行のフィールド

require 'csv' 
namespace :create_dump do 
    desc 'Erase and fill database' 
    task venue: :environment do 
    @venues = Venue.where(external_join_url: nil) 
    CSV.open('venues_without_join_url.csv', 'w') do |csv| 
     csv << ['Venue Title'] 
     @venues.each do |venue| 
     csv << [venue.title] 
     end 
    end 
    end 
end 
+1

シンプルなもの...ソリューションの作品は、多くのおかげであることを意味しています文字列の配列を期待しています。 – Mark

関連する問題