ruby-on-rails – 无法以活动的管理嵌套形式更新回形针图像

ruby-on-rails – 无法以活动的管理嵌套形式更新回形针图像,第1张

概述我有模型产品和产品图片. Product_images是一种回形针模型.产品有很多product_images.我正在制作一个Active Admin表单,上传多个图像并将这些图像显示在Products视图页面上. 但是,当我保存产品时.产品表已更新,但不是product_image表.图像正常附加,但我无法更新已上传图像的字段. class Product < ActiveRecord::Bas 我有模型产品和产品图片. Product_images是一种回形针模型.产品有很多product_images.我正在制作一个Active admin表单,上传多个图像并将这些图像显示在Products视图页面上.

但是,当我保存产品时.产品表已更新,但不是product_image表.图像正常附加,但我无法更新已上传图像的字段.

class Product < ActiveRecord::Base    attr_accessible :name,:product_images_attributes       has_many :product_images,:dependent => :destroy      accepts_nested_attributes_for :product_images,:reject_if => lambda { |t| t['product_image'].nil? },:allow_destroy => trueendclass Productimage < ActiveRecord::Base    attr_accessible :name,:style    attr_accessible :image     belongs_to :product    has_attached_file :image,:styles => { :small => "150x150>",:large => "320x240>" }    valIDates_attachment_presence :imageendActiveadmin.register Product doform :HTML => { :multipart => true } do |f|    f.inputs "admin Details" do      f.input :name    end    f.inputs "Product images" do                f.has_many :product_images do |p|            p.input :style,:as => :select,:collection => Image::STYLES,:include_blank => false            p.input :image,:as => :file,:label => "Image",:hint => p.object.image.nil? ? p.template.content_tag(:span,"No Image Yet") : p.template.image_tag(p.object.image.url(:small))            p.input :_destroy,:as=>:boolean,:required => false,:label => 'Remove image'        end     end    f.buttonsend

UPDATE

在产品模型中我做:

after_update :check  def check    if Productimage.find_by_product_ID(self.ID).changed?      raise "image"    else      raise "fail"    end     end

它总是提高“失败”

解决方法 您可以通过添加以下内容将ActiveRecord配置为级联保存对模型集合中项目的更改:autosave =>声明关联时的true选项.

尝试:

has_many :product_images,:dependent => :destroy,:autosave => true

此外,您可以在after_save回调中将表数据保存在关联中,如下所示:

class Product < ActiveRecord::Base    attr_accessible :name,:allow_destroy => true       after_save :do_product_image_updateprivate    def do_product_image_update       self.product_images.save    endend
总结

以上是内存溢出为你收集整理的ruby-on-rails – 无法以活动的管理嵌套形式更新回形针图像全部内容,希望文章能够帮你解决ruby-on-rails – 无法以活动的管理嵌套形式更新回形针图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1275198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存