По сути я имею дело с 3 вещами: (* первые 2 работы)
- Действие с именем Index (), которое принимает параметр user_id.
- Функция экспорта в CSV
- Необходимая ссылка на файл экспорта CSV из представления Index; который в идеале использует метод link_to.
Первые два работают отлично, и я наткнулся на создание ссылки с использованием метода link_to, потому что файл CSV должен быть определен для соответствующего пользователя с помощью параметра user_id.
Вот мой код контроллера:
def index
@pro = Pro.find_by_user_id(params[:user_id])
csv_code = CSV.generate do |csv|
@pro.accounts.each do |account|
csv << [account['name'],account['number']]
end
end
respond_to do |format|
format.html
format.csv { render :csv => csv_code}
end
end
index.html.haml:
* обратите внимание, что мне не хватает параметра 1234, что для этого нужно создать CSV
= link_to image_tag "export.png", {:action => :index.csv}
URL, который работает для создания CSV:
http://localhost:3000/.csv?user_id=1234
Я уверен, что эту проблему решить очень просто, и я потратил час, не обращая внимания на очевидное решение. Заранее спасибо!