ok there is a problem

@user = User.find(params[:id])      <================= params[:id] is pulled
from the url query string



in rails the convention is this

/controller/action/id

in cases there you need to pull one specific record

/controller/action

to pull a collection

@user = User.find(params[:id])

here you are pulling an specific user but

root :to => 'pages#home'

there is no id at the end of your  so params[:id] has nothing in it

thats why Couldn't find User without an ID






On Sat, Sep 11, 2010 at 2:08 PM, Anders_P <[email protected]> wrote:

> Thanks for your tips Colin!
>
> Hi radhames!
>
> Thanks for your help on my previous topic.
>
> Here is my routes.rb file:
>
>  resources :users
>  resources :sessions, :only => [:new, :create, :destroy]
>  resources :ads,      :only => [:new, :create, :destroy]
>
>  match '/registrera',  :to => 'users#new'
>
>  match '/inloggning',  :to => 'sessions#new'
>  match '/utloggning',  :to => 'sessions#destroy'
>
>  root :to => 'pages#home'
>  match '/kontakt',   :to => 'pages#contact'
>  match '/om',        :to => 'pages#about'
>
> Thanks!
>
> // Anders
>
> On 11 Sep, 19:21, radhames brito <[email protected]> wrote:
> > home action seems to be a member restful action and it needs an id to
> find
> > the record but you are not declaring that route the right way
> > show the routes please
> >
> >
> >
> > On Sat, Sep 11, 2010 at 8:25 AM, Colin Law <[email protected]>
> wrote:
> > > On 11 September 2010 12:14, Anders_P <[email protected]> wrote:
> >
> > > Could you not top post please, it is easier to follow the thread if
> > > comments are inserted into the previous post.  Thanks
> >
> > > > Hello Colin!
> >
> > > > Thanks for your reply. You are right about where the error is
> > > > occurring, this line is causing the error, @user =
> > > > User.find(params[:id]).
> >
> > > > I haven't passed the id to the home action, where should i do that
> and
> > > > how? Sorry for the noobish question but your help would be gold!
> >
> > > That depends what you are trying to do.  If you explain that we may be
> > > able to help.  If you do not know what the params hash is all about
> > > then you need to work through some basic tutorials.  See the rails
> > > guides athttp://guides.rubyonrails.org/if you are using Rails 3 or
> > >http://guides.rubyonrails.org/v2.3.8/if using version 2.3.x.  Start
> > > with Getting Started obviously, then work through the others.
> >
> > > Colin
> >
> > > > On 11 Sep, 12:43, Colin Law <[email protected]> wrote:
> > > >> On 11 September 2010 11:34, Anders_P <[email protected]>
> wrote:
> >
> > > >> > Hello!
> > > >> > I'm trying to create a list of user "ads" on my home page in my
> app.
> > > >> > But I don't get it to work. I'm a rails noob so it might be
> something
> > > >> > trivial.
> > > >> > I'm currently running into this error:
> >
> > > >> >  Couldn't find User without an ID
> >
> > > >> There should be a lot more information available with the error,
> > > >> including where it has failed.  The clue may be in the error message
> > > >> though, it is trying to find a user and there is no id.
> >
> > > >> > My pages controller where to home action is looks like this:
> >
> > > >> > def home
> > > >> >    @title = "Startsidan"
> > > >> >    @user = User.find(params[:id])
> >
> > > >> Possibly this is the problem line, if so then perhaps params[:id] is
> > > >> nil (hence the error message).  Have a look in the log
> > > >> (log/development.log) and it will tell you what the params are.  Are
> > > >> you passing the id to the home action?  Also you could have a look
> at
> > > >> the rails guide on debugging to see how to break into your
> application
> > > >> using ruby-debug and examine the data at that point.
> >
> > > >> Colin
> >
> > > >> >    @ads =  @user.Ad.paginate(:page => params[:page])
> > > >> > end
> >
> > > >> > And my ad partial looks like this:
> >
> > > >> > <div class="ad body_copy">
> > > >> >  <%= image_tag user.avatar.url(:thumb) %>
> > > >> >  <span class="content">
> > > >> >    <%= link_to user.name, user %>
> > > >> >    <%= user.ads.content %>
> > > >> >  </span>
> > > >> > </div>
> >
> > > >> > Any help would be appreciated! I hope that my explanation is clear
> > > >> > enough.
> >
> > > >> > Best regards
> > > >> > Anders
> >
> > > >> > --
> > > >> > 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]<rubyonrails-talk%[email protected]><rubyonrails-talk%2Bunsubscrib
> [email protected]>
> > > .
> > > >> > For more options, visit this group athttp://
> > > groups.google.com/group/rubyonrails-talk?hl=en.
> >
> > > > --
> > > > 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]<rubyonrails-talk%[email protected]><rubyonrails-talk%2Bunsubscrib
> [email protected]>
> > > .
> > > > For more options, visit this group at
> > >http://groups.google.com/group/rubyonrails-talk?hl=en.
> >
> > > --
> > > 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]<rubyonrails-talk%[email protected]><rubyonrails-talk%2Bunsubscrib
> [email protected]>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/rubyonrails-talk?hl=en.
>
> --
> 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]<rubyonrails-talk%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
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.

Reply via email to