我试图添加标签到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)