我在Rails3應用程序中使用CarrierWave上傳資產。在上傳方面都很好,但是當調用destroy方法時,相應的資產不會被刪除。CarrierWave在對象#destroy被調用時不會刪除資產?
它看起來像CarrierWave爲此創建了動態方法,可以在銷燬方法中使用,因此如果模型爲avatar
,那麼像remove_avatar
這樣的方法就會出現。
但是,我無法得到任何工作。任何提示非常感謝。
我在Rails3應用程序中使用CarrierWave上傳資產。在上傳方面都很好,但是當調用destroy方法時,相應的資產不會被刪除。CarrierWave在對象#destroy被調用時不會刪除資產?
它看起來像CarrierWave爲此創建了動態方法,可以在銷燬方法中使用,因此如果模型爲avatar
,那麼像remove_avatar
這樣的方法就會出現。
但是,我無法得到任何工作。任何提示非常感謝。
我很抱歉地回答我的問題,但對我來說,這是一個簡單的忽略明顯的情況:CarrierWave模型需要一個字符串字段來包含路徑名。所以我的模式是:
class SiteAsset < ActiveRecord::Base
mount_uploader :asset, AssetUploader
def store_dir
'public/assets'
end
def extension_white_list
%w(jpg jpeg gif png pdf doc docx xls xlsx)
end
end
和正確的遷移是:
class CreateSiteAssets < ActiveRecord::Migration
def self.up
create_table :site_assets do |t|
t.string :title
t.string :asset
t.timestamps
end
end
def self.down
drop_table :site_assets
end
end
咒術的缺失部分是,「資產」串在我的移民失蹤。我想我只是沒有看到文件中的要求,儘管良好的理解會立即使它顯而易見。
那天我遇到了同樣的問題。它使用簡單的表單,但似乎不喜歡嵌套表單上的* remove_model_name *。
最後我只是吸了起來,使用的hidden_field有:_destroy