No, I've got everything with hobo controllers.

On Aug 7, 1:29 am, Bryan M <[email protected]> wrote:
> Actually, you've inspired me to try to recreate a little bit of what
> you are doing with respect to using a polymorphic model -- I think it
> needs a new thread, though.
>
> Are you using plain old controllers for this
>
> On Aug 6, 10:59 pm, kevinpfromnm <[email protected]> wrote:
>
> > I ended up going with the running count for karma.  Makes sense for
> > other reasons too.
>
> > On Aug 6, 10:00 pm, kevinpfromnm <[email protected]> wrote:
>
> > > It would probably at that.  Might be better to start thinking about
> > > keeping counts at least cached if not fully handled.
>
> > > The only thing I worry about is the chance that I or hobo have some
> > > update calls in place that wouldn't trigger an observer.
>
> > > I worked out a way to do it with SQL but means I have to add an
> > > additional layer of SQL for every ratable model.
>
> > >     raise "Invalid object(s) passed.\n#{user.inspect}\n#
> > > {category.inspect}" unless
> > >         user.class == User or category.class == RatingCategory
> > >     Rating.connection.select_value("SELECT SUM(rating) FROM " +
> > >       "(SELECT DISTINCT ratings.* FROM ratings,pictures,users where "
> > > +
> > >       "(ratable_id = pictures.id AND pictures.user_id = #{user.id}) "
> > > +
> > >       "and rating_category_id = #{category.id});").to_i
>
> > > Unfortunately, select_value doesn't do SQL escaping which is somewhat
> > > disconcerting.
>
> > > On Aug 6, 9:32 pm, Bryan M <[email protected]> wrote:
>
> > > > Why not add two fields to User, num_ratings and avg_rating, and update
> > > > User with a RatingObserver?
>
> > > > (I hope I'm not talking out my arse, but I think that would work)
>
> > > > On Aug 6, 7:46 pm, kevinpfromnm <[email protected]> wrote:
>
> > > > > Ok, I'll start off with the basic models
> > > > > Rating
> > > > >   belongs_to :ratable, :polymorphic => true
>
> > > > > Picture
> > > > >   has_many :ratings, :as => :ratable
> > > > >   belongs_to :user, :creator => true
>
> > > > > Post
> > > > >   has_many :ratings, :as => :ratable
> > > > >   belongs_to :user, :creator => true
>
> > > > > I'm wanting to be able to give an average for a user for all ratings
> > > > > applied to their submissions.  There will be additional models in the
> > > > > future that are ratable as well.
>
> > > > > So, any ideas on a good way to approach this?  There are a couple of
> > > > > simple ways but they won't scale.  And this relation will probably be
> > > > > one of the most pushed that I'll have in the app.  So, I really need a
> > > > > way to grab the rating for all ratables that belong to a user.  From
> > > > > my current sense of things looks like I'm going to have to write some
> > > > > SQL to do it but figured I'd ask anyway in case someone knew of a nice
> > > > > trick to do sums across polymorphic types.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Hobo 
Users" 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/hobousers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to