0

いくつかのデータのダウンロード可能な csv を作成しようとして、この railscast に従いました。

私はviews/admin/users.html.erbにあるユーザーモードの管理ページを持っています

私の管理コントローラーには次のものがあります。

def users
@users = User.all

respond_to do |format|
  format.html
  format.csv {send_data @users.to_csv}
  format.xls {send_data @users.to_csv(col_sep: "\t")}
end
end

私のユーザーモデルでは:

def self.to_csv(options = {})
CSV.generate(options) do |csv|
  csv << ["First Name","Last Name","Street","City","State","Zip","Company Name","Company Phone","Company Street","Company City","Company State","Company Zip","Deals Viewed","Deals Clicked Invest On","Deals Invested In","Amount Invested in Hedge Funds","Amount Invested in PPM"]
  all.each do |user|
    csv << [user.first_name, user.last_name, user.p_street, user.p_city, user.p_state, user.p_zip, user.c_name, user.c_phone, user.c_street, user.c_city, user.c_state, user.c_zip, user.clicks.count, user.investments.where(:status => "Interested").count, user.u.investments.where(:status => "Invested").count, user.amount_invested_2, user.amount_invested_3]
  end
end
end

そして、require 'csv' を application.rb に追加しました。

ただし、admin/users.csv に移動してドキュメントをダウンロードすると、必要なデータではなく、「#User:0x851d030」のようなエントリが 1 行だけ表示されます。どこで台無しにしたの?

4

1 に答える 1

1

あなたは台無しにしませんでした。Railscast をフォローしましたが、たまたまうまくいきませんでした。私は同じ問題に遭遇しました。

「コメント」タブを調べて、他の人が同じ問題を抱えているかどうかを確認しました。そして、少なくとも1人がそうしました。(投稿: http://railscasts.com/episodes/362-exporting-csv-and-excel?view=comments#comment_160703 )

つまり、次のように変更する必要があります。

format.csv {send_data @users.to_csv}代わりに
format.csv {send_data User.to_csv}

于 2013-05-03T16:30:09.627 に答える