В моем приложении Rails 3.0.10 есть таблица Posts. Я хочу дать своим пользователям возможность экспортировать определенную запись 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?
Буду признателен, если кто-нибудь укажет мне правильное направление. Спасибо.