0

我正試圖在rails上安裝ActiveAdmin上的CarrierWave gem,並且安裝看起來很簡單。但是,當我嘗試將測試圖像上載到/public/uploads目錄時,圖像未保存。更令人惱火的是,沒有例外被提出,所以我不知道該去哪裏尋找問題。我可以創建帖子,瀏覽圖片,選擇圖片並提交帖子以便保存,但我仍然在ActiveAdmin的展示頁面上顯示IMAGE: EMPTY,如下所示。在圖像中,我寫了一個包含圖像的lorem ipsum帖子,並保存了它。CarrierWave寶石不上傳,那麼爲什麼沒有引發異常?

我怎樣才能讓上傳者上傳?


紅寶石1.9.3p547(2014年5月14日修訂版45962)[x86_64的-darwin10.8.0]

滑軌4.1.6


這是ActiveAdmin中單個Post對象的展示頁面

Image not uploading


這是問題

full page

形式相同形式的完整頁面截圖,但放大,很明顯,我是不是要上傳圖像在這個截圖。

zoomed in on form


/app/uploaders/image_uploader.rb

class ImageUploader < CarrierWave::Uploader::Base 

    storage :file 

    def store_dir 
     "public/uploads" 
    end 

end 

/app/models/post.rb

class Post < ActiveRecord::Base 

    belongs_to :category 

    scope :rails, -> { where(category_id: 1) } 

    extend FriendlyId 
    friendly_id :title, use: [:slugged, :finders] 

    mount_uploader :image, ImageUploader 

end 
+0

這裏可能有很多錯誤,讓我們從rails版本開始,讓我們看看您的表單,用於創建您的記錄 – Richlewis 2014-09-25 20:56:21

+0

好的,@Richlewis,我更新了問題。感謝您伸出援手。我完全擱淺,直到我能把這件作品弄清楚。 – elersong 2014-09-25 22:21:13

回答

0

一對夫婦後更多的搜索時間,我找到了另一個問題的答案的靈感,你可以找到here

我之所以沒有得到結果的原因是因爲我沒有允許應用程序接受app/admin/post.rb文件中的:image。現在,我仍然不知道爲什麼沒有上調(或甚至行登錄到控制檯)錯誤,但固定得到一個上傳的問題是允許上傳參數如下簡單:

permit_params :title, :slug, :blurb, :content, :category_id, :image 

當我發佈這個問題時,我沒有在最後:image中添加,所以我的應用程序只是拋棄該參數,而不是將其與文章的其餘部分一起保存在文件系統中。

+1

這將是我的下一個要點,但要弄清楚它的作用......如果您在提交記錄時查看控制檯,您將注意到所有參數都被髮布,並且任何不允許的參數將顯示作爲「未經許可的參數」,或者至少類似的東西,所以即使你沒有在你的視圖中看到任何錯誤,你的控制檯也是你的朋友哦,並且放置也是非常有用的,雖然我甚至可以找到真棒打印更好 – Richlewis 2014-09-26 05:28:27

+0

哦,你想要允許的下一件事是_destroy,所以你可以刪除圖像 – Richlewis 2014-09-26 05:29:20

+0

我會怎麼做呢?只需將'_destroy'添加到'permit_params'列表中,而沒有其他的東西? – elersong 2014-09-26 17:01:00

相關問題