On Sun, Apr 4, 2010 at 12:39 AM, Srijith nair <[email protected]> wrote:

> Hi David
> This error is mainly because your not getting id in the create function
> Please follow the following steps, i think this will solve your problem.
>
> I hope you configured your routes like this
> map.resources :courses do |course|
>  course.resources :pages
> end
>
> <%form_for :page,:url=>course_pages_path(@course) do %>
> <%end%>
>
> in controller
> def new
> @course = Course.find(params[:course_id])
> end
>
> def create
> @course = Course.find(params[:course_id])
> @page = @course.pages.find(params[:page])
> end
>
>
Srijith, the second isn't correct because you're
trying to find a page that doesn't exist the database.
Thus, this will generate ActiveRecord::RecordNotFound
as would the first line if it doesn't exist and the second
should like like the following:

@page = @course.pages.build( params[:page] )

@David - make sure that you have a 'new' method
on the PagesController defined as follows:

def new
    @course = Course.find( params[:course_id] )
    @page = @course.pages.build
end

Good luck,

-Conrad


> Keep rocking!
>
> David Zhu wrote:
> > I'm getting this error-
> >
> >  ActiveRecord::RecordNotFound in PagesController#create
> >
> > Couldn't find Course without an ID
> >
> >
> > ------
> >
> > Btw, the pages belongs to courses, and the courses has many pages
> >
> > Now, in my pages controller, for my create action, i have this--
> >
> > def create
> >
> >     @course = Course.find(params[:id])
> >     @page = @course.pages.build(params[:page])
> >
> > .... if and else stuff....
> >
> > end
> >
> >
> >
> > Whats wrong? Why am i getting this message? Thanks, i really need help!
>
> --
> Posted via http://www.ruby-forum.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]<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