no, with what i showed you you can do

<%...@user.comments.each |comment|%>
     <%=h comment.content%>
     <%comment.products.each do |product|%>
          <%=product.name%>
      <%end%>
<%end%>


also

<%...@product.comments.each |comment|%>
   <%=h comment.content%>
   <%comment.users.each do |user|%>
          <%=user.name%>%>
<%end%>

but what do you mean by and upload table???


On Fri, Sep 10, 2010 at 8:39 AM, Christian Fazzini <
christian.fazz...@gmail.com> wrote:

> Hi Radhames. Yea, the case you mention above would work. Except, since
> you are suggesting I have a comment table on its own. Then I would
> need to have a like and upload table on its own as well.
>
> If I needed to list recent interactions (to list down a user feed), I
> would have to union join the comment, like and upload tables. If I had
> one table called interactions, I could just query this ONE table and
> add a where clause (user_id =12, for example) and sort by created_at.
> Performance wise, it is better then having to union join 3 other
> tables together...
>
> The question is now, whether this should be done using a polymorphic
> association or STI
>
> On Sep 10, 8:16 am, radhames brito <rbri...@gmail.com> wrote:
> > dont touch the type fields.
> >
> > If you have a child model that you have to attach to different models use
> > polymorphic associations.
> > if you have 2 models with a few different fields use STI.
> >
> > if it guess too clomplex is means you choose wrong and you were so
> suppose
> > to use the other kind of association.
> >
> > thi the case you are saying you dont need any of those, only a comment
> model
> > that belongs to product and to user  like this
> >
> > class user
> > has_many comments                              ## the table should not
> have
> > a comment_id field
> > has_many products :through =>comments
> >
> > class product
> > has_many comments                             ##  the table should not
> have
> > a comment_id field
> > has_many  users :through =>comments
> >
> > class comment
> > belongs_to :user
> > belongs_to :product
> >
> > the coment migration should be like this
> >
> >  create_table :comments do |t|
> > t.integer   :user_id
> > t.integer   :product_id
> > t.content
> > t.timestamp
> >
> > On Thu, Sep 9, 2010 at 6:09 PM, Christian Fazzini <
> >
> > christian.fazz...@gmail.com> wrote:
> > > Redhames, got it thanks! Have tested this and now seems to work. Even
> > > the type field is put in automatically when the form submits.
> >
> > > Is this normal that the type field saves as "CitySuggestion" and
> > > "BusinessSuggestion" respectively? Can I change the way it saves, as
> > > "city" or "business", instead?
> >
> > > Can we talk about the design factor for this. I realise the potential
> > > of STI's now. However, lets assume this scenario.
> >
> > > Ive got user and product. A user can leave comments, like, upload
> > > products. These are called interactions. On a product page, I need to
> > > display the product and all comments for the product. I also have a
> > > user page with a section that displays all the users recent
> > > interactions, sorted by the created_at date.
> >
> > > I was thinking of using an STI for this, with something like:
> >
> > > class Interaction < ActiveRecord::Base
> > > attr_accessible :user_id, :product_id, :comment, :ip_address, :type
> >
> > > ----------
> > > class Comment < Suggestion
> > > attr_accessible :user_id, :product_id, :comment
> >
> > > ----------
> > > class Upload < Suggestion
> > > attr_accessible :user_id, :product_id, :ip_address
> >
> > > ----------
> > > class Like < Suggestion
> > > attr_accessible :user_id, :product_id
> >
> > > However, I was also considering using a polymorphic behavior. Or in
> > > your opinion, would an STI be more suitable for this?
> >
> > > On Sep 10, 3:06 am, radhames brito <rbri...@gmail.com> wrote:
> > > > yes thats rigth, everything will behave as if you had 2 tables , is
> > > normal
> > > > RoR from now on.
> >
> > > > yes dont be afraid to ask.
> >
> > > > On Thu, Sep 9, 2010 at 1:06 PM, Christian Fazzini <
> >
> > > > christian.fazz...@gmail.com> wrote:
> > > > > Thanks Radhames. Ok I got it up to there. I am assuming since we
> are
> > > > > creating controllers for city_suggestions and business_suggestions,
> we
> > > > > will also need to create view for them respectively? i.e.
> /app/views/
> > > > > city_suggestions and /app/views/business_suggestions right?
> >
> > > > > I appreciate your patience and thorough explanation regarding STI.
> > > > > Once I grasp this concept properly, I can apply the same knowledge
> on
> > > > > other cases :-)
> >
> > > > > On Sep 9, 10:26 pm, radhames brito <rbri...@gmail.com> wrote:
> > > > > > sorry i forgot you use scaffold , here is the thing ill make a
> guide
> > > for
> > > > > > this , from the migration step by step to the view
> >
> > > > > > create a table like this
> >
> > > > > > create_table :sugestions do |t|
> > > > > >  t.string first_name
> > > > > >  t.string last_name
> > > > > >  t.string email
> > > > > >  t.string business_name
> > > > > >  t.string business_address
> > > > > >  t.string city_name
> > > > > >  t.string type
> > > > > >  end
> >
> > > > > > no more tables are needed
> >
> > > > > > create a model
> >
> > > > > > Sugestion , (singular) as normal it should inherit from active
> record
> > > > > base
> > > > > > like this
> >
> > > > > > class Sugestion < ActiveRecord::Base
> >
> > > > > > attr_accessible : first_name,last_name, email, business_name,
> > > > > > business_address, city_name
> >
> > > > > > then create the tu other model that inherit from Sugestion, note
> that
> > > is
> > > > > > they is a capital letter in the model name rails will put an
> > > underscore
> > > > > like
> > > > > > this city_sugestions_controller
> >
> > > > > > class CitySugestion < ActiveRecord::Base
> >
> > > > > > attr_accessible : first_name,last_name, email, city_name
> >
> > > > > > and another
> >
> > > > > > class bussinessSugestion < ActiveRecord::Base
> >
> > > > > > attr_accessible : first_name,last_name, email,business_name,
> > > > > > business_address
> >
> > > > > > note i think type should  not be available with mass assignment.
> >
> > > > > > then create the controllers for the 2 sugestions classes
> >
> > > > > > city_sugestions_controller
> >
> > > > > > and
> >
> > > > > > bussiness_sugestions_controller
> >
> > > > > > from here one this controller will never notice you have only one
> > > table
> > > > > they
> > > > > > will behave as if you had 2 different tables in the db
> >
> > > > > > in you views just refer to @bussinesssugestions and it will be
> scoped
> > > > > thanks
> > > > > > to the type field that active record will automaticly use then
> you
> > > save
> > > > > an
> > > > > > object of either class. Dont try to access the type field using
> > > > > > @citysuggestion.type or @suggestion.type as type is a ruby method
> and
> > > > > will
> > > > > > be called instead of
> > > > > > the table field, use @sugestion[:type] , the other fields can be
> > > called
> > > > > as
> > > > > > normal.
> >
> > > > > > If you want to handle the sugestion class directly you can create
> a
> > > > > > sugestions_controller, it its corresponding viwes for it and have
> a
> > > named
> > > > > > scope that filter each type.
> >
> > > > > > Dont be afraid to keep asking if you are still confuse and keep
> in
> > > mind
> > > > > that
> > > > > > in most case, people are not specting that you would use
> scaffolds
> > > every
> > > > > > time since scaffold are more like a learning tool that an actual
> way
> > > of
> > > > > > doing things.
> >
> > > > > > if you want to use scaffold anyway you can create the scaffold
> and
> > > skip
> > > > > > creating the migrations with
> >
> > > > > > script/generate scaffold --skip-migrations
> >
> > > > > > On Thu, Sep 9, 2010 at 9:52 AM, Christian Fazzini <
> >
> > > > > > christian.fazz...@gmail.com> wrote:
> > > > > > > Yes I know, I am just trying to understand how to implement
> this
> > > > > > > properly. It's easy enough to rollback the migration and remove
> the
> > > > > > > respective migration files. However, I need to know whether I
> need
> > > > > > > controllers, models and views for citysuggestion and
> > > > > > > businesssuggestion
> >
> > > > > > > On Sep 9, 9:46 pm, Marnen Laibow-Koser <li...@ruby-forum.com>
> > > wrote:
> > > > > > > > Christian Fazzini wrote:
> > > > > > > > > I thought you said I needed to scaffold the citysuggestion
> and
> > > > > > > > > businesssuggestion? Scaffold generates controllers, views,
> and
> > > > > models
> > > > > > > > > (if they already dont exist)?
> >
> > > > > > > > > If I do rake db:migrate, it generates the tables in the db.
> > > Should
> > > > > I
> > > > > > > > > remove the migration files that the scaffold generator
> > > generates
> > > > > > > > > before doing rake db:migrate?
> >
> > > > > > > > Stop relying so much on the scaffold generator.  You've
> probably
> > > gone
> > > > > > > > beyond the point where it's useful.
> >
> > > > > > > > Best,
> > > > > > > > --
> > > > > > > > Marnen Laibow-Koserhttp://www.marnen.org
> > > > > > > > mar...@marnen.org
> > > > > > > > --
> > > > > > > > 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
> > > rubyonrails-talk@googlegroups.com
> > > > > .
> > > > > > > To unsubscribe from this group, send email to
> > > > > > > rubyonrails-talk+unsubscr...@googlegroups.com<rubyonrails-talk%2bunsubscr...@googlegroups.com>
> <rubyonrails-talk%2bunsubscr...@googlegroups.com<rubyonrails-talk%252bunsubscr...@googlegroups.com>
> >
> > > <rubyonrails-talk%2bunsubscr...@googlegroups.com<rubyonrails-talk%252bunsubscr...@googlegroups.com>
> <rubyonrails-talk%252bunsubscr...@googlegroups.com<rubyonrails-talk%25252bunsubscr...@googlegroups.com>
> >
> >
> > > > > <rubyonrails-talk%2bunsubscr...@googlegroups.com<rubyonrails-talk%252bunsubscr...@googlegroups.com>
> <rubyonrails-talk%252bunsubscr...@googlegroups.com<rubyonrails-talk%25252bunsubscr...@googlegroups.com>
> >
> > > <rubyonrails-talk%252bunsubscr...@googlegroups.com<rubyonrails-talk%25252bunsubscr...@googlegroups.com>
> <rubyonrails-talk%25252bunsubscr...@googlegroups.com<rubyonrails-talk%2525252bunsubscr...@googlegroups.com>
> >
> >
> > > > > > > .
> > > > > > > For more options, visit this group at
> > > > > > >http://groups.google.com/group/rubyonrails-talk?hl=en.
> >
> > > > > --
> > > > > 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
> rubyonrails-talk@googlegroups.com
> > > .
> > > > > To unsubscribe from this group, send email to
> > > > > rubyonrails-talk+unsubscr...@googlegroups.com<rubyonrails-talk%2bunsubscr...@googlegroups.com>
> <rubyonrails-talk%2bunsubscr...@googlegroups.com<rubyonrails-talk%252bunsubscr...@googlegroups.com>
> >
> > > <rubyonrails-talk%2bunsubscr...@googlegroups.com<rubyonrails-talk%252bunsubscr...@googlegroups.com>
> <rubyonrails-talk%252bunsubscr...@googlegroups.com<rubyonrails-talk%25252bunsubscr...@googlegroups.com>
> >
> >
> > > > > .
> > > > > For more options, visit this group at
> > > > >http://groups.google.com/group/rubyonrails-talk?hl=en.
> >
> > > --
> > > 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 rubyonrails-talk@googlegroups.com
> .
> > > To unsubscribe from this group, send email to
> > > rubyonrails-talk+unsubscr...@googlegroups.com<rubyonrails-talk%2bunsubscr...@googlegroups.com>
> <rubyonrails-talk%2bunsubscr...@googlegroups.com<rubyonrails-talk%252bunsubscr...@googlegroups.com>
> >
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/rubyonrails-talk?hl=en.
>
> --
> 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 rubyonrails-t...@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-talk+unsubscr...@googlegroups.com<rubyonrails-talk%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
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 rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to