Giving users the ability to reshare content

I found one solution that stores the reposted data within a content field on the model, but of course that's not a good approach. If I can use only the object's ID, I think that would slim down the amount of data being used. The old method is below, maybe you have a better solution with AJAX.

Post model has_many: reposts, class_name: "Post", foreign_key: "repost_id", dependent: :destroy;

def repost     orig_post=Micropost.find(params[:id]);     if(orig_post)       Micropost.create(user_id:current_user.id,         content: orig_post.content,         repost_id:orig_post.id);       respond_to do |format|         format.js       end     end   end