Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7501615
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T20:35:51+00:00 2026-05-29T20:35:51+00:00

I have one original object post.rb with the next fields or attributes. class Post

  • 0

I have one original object post.rb with the next fields or attributes.

class Post
 include Mongoid::Document
 mount_uploader :posted, PostedUploader, mount_on: :posted_filename
 field :posted
 field :remote_posted_url

 attr_accessible :posted, :remote_posted_url
end

Then I want create a copy from the first original object and share images for the new object. Then I doing:

attribs = @post.attributes.select {|a| %w(posted remote_posted_url).include? a }
new_post = Post.new attribs
new_post.save

So far, everything works fine the new object, share the images of the original. The two objects have the same shared image with the same path.

The problem is if I delete the original object, the clone object can not find the image because I deleted in original post.

How can I, in my destroy action object, with a callback before_destroy, check whether the image is used by one or more objects.

if the image, using 2 or more objects,

Not delete the image.

otherwise, if the image is used by a single object,

Delete the image.

Its possible?

I’m need a method to verify this problem.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T20:35:54+00:00Added an answer on May 29, 2026 at 8:35 pm

    Override the remove_posted callback injected by CW in your model:

    class Post
      include Mongoid::Document
      mount_uploader :posted, PostedUploader, mount_on: :posted_filename
      field :posted
      field :remote_posted_url
    
      attr_accessible :posted, :remote_posted_url
    
      # override as to not delete if there's another model storing the same image
      def remove_posted!
        super unless Post.where(posted_filename: posted_filename).count > 1
      end
    end
    

    PS: Post.new(attribs).save should be copying the file, not use the same one, maybe you ought to assign a File.open(path) to the posted column insted of the uploader.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

BACKGROUND I have a script to upload an image. One to keep the original
I'm trying to pass post data from one page to the next but PreviousPage
I have a one-to-one unidirectional relationship between a Booking object and an Address object
I have one field that I need to sum lets say named items However
I have one thread that writes results into a Queue. In another thread (GUI),
I have one hibernate sequence, that generates all sequence-numbers in my app. When I
I have one text input and one button (see below). How can I use
I have one std::list<> container and these threads: One writer thread which adds elements
I have one website on my server, and my IIS Worker Process is using
I have one application which uses the standard .NET forms authentication cookie, now I

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.