Hypothetically, if one were to create three different types of comment would you just create a Comment model and then three other models that were subclasses?
I've never played with subclasses in a rails app (other than the ones specified by rails) so I'm curious as to which whether this would be the way to do it? Gav On Feb 22, 8:30 pm, GS <[email protected]> wrote: > That seems like a fine solution. > > what about just creating three different types of comments, > article_comment, movie_comment, photo_comment? > > I'm not necessarily advocating for this, but it's an option, and it > may be better. That way, you don't need the functions at all. and it > should help keep your controllers & views simple. > > There is in some sense a problem of code duplication between the three > comment resources, but you may be able to DRY this up with helper > methods. > > -Gabe > > On Feb 22, 11:11 am, Gavin <[email protected]> wrote: > > > Ah - I think I understand now. > > > I would add a column to the comments table called 'kind' (as in, 'kind > > of comment') > > > The column should be an integer column with limit 1. > > > Then assign a different integer value to determine what kind of > > comment it is. > > > i.e., > > 1 = article > > 2 = photo > > 3 = movie > > > When you creating a new comment, simply check the value of this > > integer and redirect accordingly. > > > Does that help? > > > On Feb 22, 3:27 pm, Difei Zhao <[email protected]> > > wrote: > > > > Gavin wrote: > > > > Difei, > > > > > If a comment only belongs to either an article, movie or a photo > > > > (never more than one) you could add methods in the model to determine > > > > which it is for. > > > > > For example: > > > > > class Comment > > > > > def article_comment? > > > > !article_id.nil? > > > > end > > > > end > > > > > @comment.article_comment? will return true if this is a comment for an > > > > article and false if not. > > > > > You could render your view accordingly for each type of comment. > > > > > Hope that helps? > > > > Hi Garvin, but your way is to decide the father of an existed comment. > > > if I just received POST to /articles/:article_id/comments/:comment_id, > > > and I have a: > > > @comment = Comment.new(params[:comment]), how could I tell this @comment > > > is for article but not photo? By test params? > > > > Thanks. > > > > > On Feb 21, 5:53 am, Difei Zhao <[email protected]> > > > > -- > > > Posted viahttp://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

