У меня есть стол Posts в моем приложении Rails 3.0.10. Я хочу предоставить моим пользователям возможность экспортировать определенную запись Post в формат CSV, но не все из них. И хотя в моей таблице «Почта» есть много полей, я хочу экспортировать название и тело.Экспорт записи в CSV
После выполнения некоторых поисков, по-видимому, лучший способ сделать это - через FasterCSV. И, по-видимому, он уже построен в Ruby 1.9.2, который я использую. Вещь в значительной степени устарела (начиная с Rails 1 или 2), и я совершенно не знаю, как это сделать.
Я попытался положить в моей posts_controller.rb
def export_to_csv
@post = Post.find(params[:id])
csv_string = CSV.generate do |csv|
csv << [@post.title, @post.body]
end
# send it to the browsah
send_data csv_string,
:type => 'text/csv; charset=iso-8859-1; header=present',
:disposition => "attachment; filename=post.csv"
end
Что я ДУМАЮ может быть правильный код, но я понятия не имею, как использовать это на мой взгляд. В идеале я хочу иметь ссылку для экспорта CSV-файла, но я думаю, что это нужно сделать через form_tag?
Был бы признателен, если бы кто-то мог указать мне в правильном направлении. Благодарю.
Возможно, эта ссылка может помочь вам http://stackoverflow.com/questions/94502/in-rails-how-to-return-records-as-a-csv-file – PriteshJ
Выяснил это через еще один час поиска и экспериментировать. Выложите решение, как только смогу. – cdotfeli