2012-04-12 2 views
2

Я новичок в Rails, и мне трудно понять, почему возникает следующая ошибка. У меня есть страница, где я связал файл PDF и некоторые изображения для загрузки.Как настроить ссылку для загрузки в pdf в rails 3.2?

По мнению:

link_to(image_tag('image.png'),:controller=>'home',:action=>'download', :file_name => 'image.pdf') %> 

В контроллере:

def download 
    send_file "#{RAILS_ROOT}/assets/pdf/#{params[:file_name]}", :type=>"text/pdf" 
end 

При попытке загрузить файл в среде разработки, я получаю следующую ошибку:

No route matches [GET] "/assets" 

Я попытался изменить путь к файлу и выполнить поиск в google и SO. Я предполагаю, что это должно быть относительно простым исправлением и, вероятно, связано с конвейером активов, но если кто-то может указать мне в правильном направлении, я был бы очень счастлив.

ответ

1

Привет, я сам столкнулся с этой проблемой, и решение для меня (rails 2.0.2) состояло в том, чтобы вставить файл pdf в общий каталог вашего приложения и сделать прямую ссылку www.yoursite.com/my.pdf это немедленно выполнит загрузку.

Почему это? хорошо, как только вы разворачиваете приложение с помощью рейк-активов: прекомпиляция будет запущена, и поэтому активы будут отображаться в вашем общем каталоге.

Вы также можете сделать это, запустив локальный

$:. rake assets:precompile RAILS_ENV="development" 

Хотя я не был бы совет совершали эти файлы.

+0

Спасибо! Это было решение, которое я использовал. Я все еще не совсем уверен, почему я получаю ошибку пути к ресурсам. Я полагаю, что это связано с другой проблемой ... – bgmarx

Смежные вопросы