Think about the objects and relationships. You want a user to have
many retweets (which are microposts) and a micropost must not only
have its original owner but also users who have retweeted it.
You have not told us the relationships at the moment but I assume that
it is something like user has_many microposts and micropost belongs_to
user. This does not quite match what you have as you have author_id
but presumably you can sort that bit out.
I would suggest using a join table possibly called retweetings where
user has_many retweetings and user has_many retweets through
retweetings. Also micropost has_many retweetings and has_many
retweeters through retweetings.
Then for retweetings you just need retweeter_id and retweet_id and
have retweetings belongs_to :retweeter, :class_name => "user" and
belongs_to :retweet, :class_name => "micropost"
You probably need the class_name spec on the has_many through relationships too.
Looking back at the post you seem to have authors and users in
different tables. Are you sure that is right, what is the difference
between an author and a user?
Colin
>
> Here's the codes:
>
> ROUTES.rb
>
> resources :microposts do
> member do
> get :retweet
> end
> end
>
>
> MICROPOSTS_CONTROLLER.rb
>
> def retweet
> original_micropost = Micropost.find(params[:id])
> if original_micropost
> new_micropost = current_user.microposts.build(content:
> original_micropost.content, author_id: original_micropost.author_id)
> if new_micropost.save
> redirect_to user_path(current_user)
> flash[:success] = "Retweet Successful"
> else
> redirect_to user_path(current_user), notice:
> new_micropost.errors.full_messages
> end
> else
> redirect_back_or current_user
> flash[:error] = "Retweet error!"
> end
> end
>
>
>
> _MICROPOST.html.erb
>
> <%= link_to (image_tag "retweet.png"), reaspas_micropost_path(micropost) %>
>
>
>
> Let me know if there is anything else needed to get around this.
>
> Thank you in advance.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/rubyonrails-talk/-/X1Oo7Pk4Es8J.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-ta...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
I meant to say have a look at the Rails Guide on ActiveRecord
Associations for some background data on this if you do not understand
what I mean.
Colin
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to
Hey Marcos,I was wondering if you could share the code you added for the retweet function. I am looking to do the exact same, but am a bit stuck. thank you
> To post to this group, send email to rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to