Все! У меня есть вид show
, который отображает ссылки на файлы, которые можно загрузить. У меня есть метод - download_file
который отправляет файлРельсы, как пройти объект между методами
def download_file
@myfile = Myfile.find(params[:myfile]) <======this line does not work
send_file Rails.root.join(@myfile.myfile_directory, "file.csv"), :type=>"application/csv", :x_sendfile=>true
flash[:notice] = "Your file has been downloaded"
end
Мой вопрос - Как я могу передать Myfile объект контроллера download_file
метода с точки зрения show
? мой взгляд
<td><%= @myfile.myfile_name %></td>
<%= link_to "Download file" , :action => 'download_file' %>
<%= link_to 'Edit', edit_myfile_path(@myfile) %>
Я попытался в контроллере:
@myfile = Myfile.find(params[:myfile])
@myfile = Myfile.find(params[:myfile]).first
@myfile = Myfile.find(params[:id])
@myfile = Myfile.find(params[:id]).first
Это не работает. Спасибо вам большое за помощь!
Привет! Спасибо за помощь! Я попробовал это и получил ошибку, 'undefined method' [] 'для nil: NilClass' –
И он выбрасывает из ...? – blelump
Только что узнал 'download_file_my_files_path (: id => @ myfile.id)' отлично работает! –