0

Railsは非常に新しいので、うまくいけばこれは簡単な修正です。Web サイトに保存したファイルをダウンロードするためのリンクを設定しようとしています。これが私のダウンロード機能です:

コントローラ

  def download  
    send_file @exam.photo.path, :type => @exam.photo_content_type, :filename => @exam.permalink 
  end

私のルート.rb

  resources :exams do
    member do
      get :download
   end
end

と私の見解

<%= link_to "Download", download_exam_path(@exam.photo.path) %>

paperclipは画像をアップロードするために使用します。表示はできますが、ダウンロードできません。これが私のエラーです:

No route matches [GET] "/exams/Users/R45/Programming/rails_projects/oldV_rails_project/public/system/exams/photos/000/000/016/original/Chapter.jpg/download"

これは、私の画像リンクの /download で「タックオン」しているようです。

4

1 に答える 1

1

リンクのルートが間違っています。試す:

<%= link_to "Download", download_exam_path(@exam) %>

ただし、エラー メッセージは、試験の写真がパブリック パスにあることを示唆しているため、写真を直接 href するのが最も簡単な場合があります。

<%= link_to "Download", @exam.photo.path %>
于 2013-06-08T04:37:49.533 に答える