但是,当我保存产品时.产品表已更新,但不是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 – 无法以活动的管理嵌套形式更新回形针图像所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)