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.


Reply via email to