I think you want "member" instead of "collection" in your route file. Collection is used when you don't have an id; member when you do. In your controller you are using the id, so I'm assuming that this is the URL you want: http://localhost:3000/customers/1/friend
On Mon, Aug 13, 2012 at 3:42 PM, Colin Law <clan...@googlemail.com> wrote: > On 13 August 2012 19:11, Jean-Sébastien D. <li...@ruby-forum.com> wrote: >> I am trying to add a custom restful action. I have try the following >> tutorial but stil get an error and not sure why >> http://guides.rubyonrails.org/routing.html, >> http://railscasts.com/episodes/35-custom-rest-actions >> >> Here what i am trying to do in my model customer >> >> i have def the following >> >> def friend >> @customer = Customer.find(params[:id]) >> end >> Here my route >> >> resources :customers do >> collection do >> get 'friend' >> end >> end >> Here the link i try so far >> >> http://localhost:3000/customers/friend >> http://localhost:3000/customers/1/friend >> I also try member but same error occurs. There error is follow >> >> ActiveRecord::RecordNotFound in CustomersController#friend >> >> Couldn't find Customer without an ID > > That probably means that params[:id] is nil for some reason. First > check in development.log where it will show you the parameters passed > in when you open the url. Then you will know whether the id is not > being passed in or whether you are loosing it somewhere along the way. > Next have a look at the Rails Guide on debugging to see techniques > that you can use to debug the code. > > Colin > > -- > 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. > For more options, visit https://groups.google.com/groups/opt_out. > > -- 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. For more options, visit https://groups.google.com/groups/opt_out.