我正在編寫一個Ruby on Rails 5應用程序。我剛剛學會了如何上傳圖片,而不使用回形針,載波或重定向。我過去曾經使用過重複函數,但是對於這個應用程序,我想學習如何去做那些第三方的寶石。這並不難。我已經成功上傳了一個文件。我的問題是之後訪問圖像!我認爲這會很簡單。但不是!Rails:上傳後訪問圖像文件
我有圖像文件被上傳到「/public/images/page/image.jpg」
我已經加入「/公/圖片/頁」在應用程序/初始化/ assets.rb資產路徑
我試圖直img標籤是這樣的:
<img class="pic left" src="/public/images/page/mars01.jpg" alt="Mars01" />
我得到一個 「(無路由匹配[GET] 」/public/images/page/mars01.jpg「)」 的錯誤。 我試過了:
<%= image_tag "/public/images/page/#{@page.image}", class: 'pic left' %>
與標籤基本相同,得到的結果相同。還嘗試過:
<img class="pic left" src='<%= image_path "#{@page.image}" %>' />
仍然會出現路由錯誤,但只能查看「/ images」目錄。我仍然處於開發模式,所以我認爲image_path將是正確的路徑。
訪問圖像的正確方法是什麼?剛剛上傳到資產管道以外的目錄?這將在開發或生產環境中工作?我真的認爲這將是直截了當的。
您正試圖訪問上傳的靜態圖像,您不能使用資產管道。我將刪除您添加到assets.rb的設置,並直接指向圖像路徑:'Rails.root.join('public','image','mars01.jpg').to_s' – Mat