Link_to and Routing

I am a newbie to ruby/rails. I almost don't know anything about rails, however, I am familiar with MVC3 of ASP.Net. Please help me with this question as I am about to fail a course. :frowning:

In my routes.rb file I have a nested resource:

root to: "parentitems#index"   resources :parentitemsdo     resources :childitems, only: [:new, :create, :destroy]   end

In my parentitems\show\.html.erb file, I am adding a link and I don't know how to do that.

Which one of these would do the job, if any?

<%= link_to 'New Childitem', new_parentitem_childitem_url %> <%= link_to 'New Childitem', new_parentitem_childitem_path %>

and what do I need to specify in the routes.rb file so that this link goes to the new view for childitems?

Thanks you for the hlep.

dis guy wrote in post #1088348:

I am a newbie to ruby/rails. I almost don't know anything about rails, however, I am familiar with MVC3 of ASP.Net. Please help me with this question as I am about to fail a course. :frowning:

In my routes.rb file I have a nested resource:

root to: "parentitems#index"   resources :parentitemsdo     resources :childitems, only: [:new, :create, :destroy]   end

In my parentitems\show\.html.erb file, I am adding a link and I don't know how to do that.

Which one of these would do the job, if any?

<%= link_to 'New Childitem', new_parentitem_childitem_url %> <%= link_to 'New Childitem', new_parentitem_childitem_path %>

and what do I need to specify in the routes.rb file so that this link goes to the new view for childitems?

Thanks you for the hlep.

If you go with command line to the root of your project and run "rake routes" (remove quotation marks ) you will see the routes your application has and how to use them to access the methods you implement. Please run that and post it here in case you cannot find the right one to use.

Cheers.

This is what I see:

new_parentitem_childitem GET /parentitems/:parentitem_id/childitems/new(.:format) childitems#new

But this in my routes file doesn't work:

  match '/parentitems/:parentitem_id/childitems/new' => 'childitems#new'

And I am not sure about my controller either:

  def new     @childitem= Childitem.new

    respond_to do |format|       format.html # new.html.erb       format.json { render json: @childitem}     end   end

dis guy wrote in post #1088404:

This is what I see:

new_parentitem_childitem GET /parentitems/:parentitem_id/childitems/new(.:format) childitems#new

But this in my routes file doesn't work:

  match '/parentitems/:parentitem_id/childitems/new' => 'childitems#new'

Why are you now defining the routes using match? Before you were using:

resources :parentitemsdo   resources :childitems, only: [:new, :create, :destroy] end

For that new_parentitem_childitem_path should work for a link_to Notice that resources :parentitemsdo should be resources :parentitems do (I guess a space was missing before the do...)

I want to add a Link_to now to add a create new item page for child item and I am using the match for that page.

<%= link_to 'New Childitem', new_parentitem_childitem_path %>

No, the space exists in my routes file, was a type here. The error message is:

Routing Error

No route matches {:action=>"new", :controller=>"childitems"}

Try running rake routes for more information on available routes.