Thanks to all who responded. I decided to go with the more RESTful approach:
map.resources :users, :has_many => :payments and use the index action on the payments controller. Cheers Adrian On Jan 27, 1:11 am, Jeff <[email protected]> wrote: > On Jan 26, 5:08 am, Adrian <[email protected]> wrote: > > > > > Hi All > > > I'm having some issues with the following routes problem. > > > The routes.rb file ... > > map.resources :users > > map.connect '/users/view_payments/:user_id', :controller => > > 'users', :action => 'view_payments' > > > The users_controller.rb file ... > > def view_payments > > @user = User.find[:params[:user_id]] > > @payments = @user.payments > > end > > > The routes list from a rake routes ... > > /users/view_payments/:user_id > > {:controller=>"users", :action=>"view_payments"} > > > The .../views/users/view_payments.html.erb file ... > > <%= link_to 'View Payments', :controller => 'users', :action => > > 'view_payments', :user_id => @user.id %> > > > Then the URL generated from the link_to ... > > http://localhost:3000/users/view_payments/2 > > > But this returns a 404error > > > Anyhelp/ideas appreciated > > > Cheers > > Adrian > > As others have said, you just need to define the custom action in your > routes. > > But I might suggest a more restful approach: > > map.resources :users, :has_many => :payments > > Then you can use links like > > http://localhost:3000/users/2/payments > > This calls the index action of a Payments controller. You can look at > params[:user_id] to know which user is involved. This way you don't > need any custom actions. > > Just a thought. > > Jeff > switchingtorails.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 -~----------~----~----~----~------~----~------~--~---

