我試圖添加標籤到RefineryCMS中的圖像模型(嘗試在1.0.8和2.0.4),添加了attr_accessible:tag_list,需要的行爲作爲標記並設置視圖,但問題是,只有當編輯/更新以前上傳的圖像時,標籤纔會保存 - 即使它使用相同的形式,也不會在第一次上傳時保存...在RefineryCMS中爲圖像添加標籤
任何想法?看日誌的時候,只是不節能
它發生在軌道和煉油廠的每一個版本我都試過...
的標籤正在經歷後...
我試圖添加標籤到RefineryCMS中的圖像模型(嘗試在1.0.8和2.0.4),添加了attr_accessible:tag_list,需要的行爲作爲標記並設置視圖,但問題是,只有當編輯/更新以前上傳的圖像時,標籤纔會保存 - 即使它使用相同的形式,也不會在第一次上傳時保存...在RefineryCMS中爲圖像添加標籤
任何想法?看日誌的時候,只是不節能
它發生在軌道和煉油廠的每一個版本我都試過...
的標籤正在經歷後...
我也有類似問題,並最終找到附加屬性的原因(在你的情況下:tag_list)沒有被保存在新的圖像上傳。
如果你看看::Refinery::ImageController
,你會看到創建行動actyally與創建圖像:
unless params[:image].present? and params[:image][:image].is_a?(Array)
@images << (@image = ::Refinery::Image.create(params[:image]))
else
params[:image][:image].each do |image|
@images << (@image = ::Refinery::Image.create(:image => image))
end
end
params[:image][:image]
是一個Array當啓用多個多個文件uploed(默認情況下它是)。但是,只有在創建圖像時才使用數組值,忽略其他參數。
我很快就寫了下面的變通,使保存在多個圖片上傳其他PARAMS:
unless params[:image].present? and params[:image][:image].is_a?(Array)
@images << (@image = ::Refinery::Image.create(params[:image]))
else
images_params = params[:image].dup
images_params.delete(:image)
params[:image][:image].each do |image|
@images << (@image = ::Refinery::Image.create({:image => image}.merge(images_params)))
end
末
它可能不是最完美的解決方案BU它的伎倆。
要在您的應用中使用它,您必須爲::Refinery::ImageController
創建一個裝飾器來複制和編輯其中的創建動作。 (參見'擴展控制器'Refinery's Guides)