I'm confused. You want user_game_url and commentable_url is returning user_game_url? What's the problem?
On Sat, May 30, 2009 at 3:11 PM, mike muldoon <[email protected]>wrote: > > I was already in there, trying various permutations for just such a > Game special case. This generates 'member_game_url': > > def commentable_url(comment) > if comment.recipient && comment.commentable > if comment.commentable_type == "Game" > debugger > polymorphic_url([comment.commentable.member, > comment.commentable])+"#comment_#{ > comment.id}" > elsif ... > > member_game_url has no route because Member is just a model, and has > no controller. Put another way, Members don't own Photos, Users do. > The desired route is user_game_url, which has me thinking that maybe > LostyJai's suggestion would be appropriate, as this isn't the result > of a bug in polymorphic_url. > > Thoughts? > > > On Fri, May 29, 2009 at 6:33 PM, Bruno Bornsztein > <[email protected]> wrote: > > Look at commentable_url in BaseHelper. It calls: > > polymorphic_url([comment.recipient, > > comment.commentable])+"#comment_#{comment.id}" > > So it uses the recipient of the comment (which is a user) for comments on > > anything other than users. You can overwrite that method to make an > > exception for Games, something like (pseudo-code): > > if comment.commentable_type == "Game" > > polymorphic_url([comment.commentable.member, comment]) > > #comment.commentable should return a Game > > end > > Good luck, > > Bruno > > On Fri, May 29, 2009 at 8:06 PM, LostyJai <[email protected]> > wrote: > >> > >> Have you defined your model as a subclass of user in routes? > >> > >> On May 30, 8:52 am, angrysponge <[email protected]> wrote: > >> > I have a Game model which I would like to enable comments for. Games > >> > are owned by Members, which is a subclass of User. The relevant model > >> > code needed thus far: > >> > > >> > class Game < ActiveRecord::Base > >> > belongs_to :member > >> > acts_as_commentable > >> > def owner > >> > self.member.becomes(User) > >> > end > >> > > >> > class Member < User > >> > has_many :games > >> > > >> > Saving a comment for a Game generates this error: > >> > NoMethodError in CommentsController#create > >> > undefined method `user_game_url' for #<CommentsController:0xb6daef9c> > >> > > >> > When adding a comment to a Photo, polymorphic_url() returns > >> > 'user_photo_url', so 'user_game_url' looks reasonable, except that > >> > Users don't own Games, Members do. > >> > > >> > Am I missing some route details for my Game model? > >> > > >> > Any suggestions? > >> > Mike > >> > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CommunityEngine" 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/communityengine?hl=en -~----------~----~----~----~------~----~------~--~---
