У меня есть таблица сообщений в моем приложении Rails 3.0.10. Я хочу дать своим пользователям возможность экспортировать определенную запись Post в формат CSV, а не все сразу. И хотя в моей таблице Post много полей, я хочу экспортировать только заголовок и тело.
После некоторого поиска, очевидно, лучший способ сделать это через 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?
Был бы признателен, если бы кто-нибудь мог указать мне правильное направление. Спасибо.