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
-~----------~----~----~----~------~----~------~--~---

Reply via email to