URL mapping in routes.rb

Hi,

I have the following mapping in routes.rb.

map.resources :definitions, :member=>{:execute=>:post},
:collection=>{:select=>:get} do |def|
def.resources :definition_fields
end

Now I am able to access the ‘index’ method of
definition_fields_controller.rb by the following code.

definition_definition_fields_path(@definition)

It works well. But when I tried calling the ‘new’ method of
definition_fields_controller.rb with the following syntax, it failed.

definition_new_definition_field_path(@definition)

What is the right way to call the ‘new’ and ‘edit’ methods when this
kind of mapping is used???

Thanks in advance…

  • Karthik.

Karthi kn wrote:

map.resources :definitions, :member=>{:execute=>:post},
:collection=>{:select=>:get} do |def|
def.resources :definition_fields
end

You will probably want to replace “def” with something else as it is a
Ruby keyword…

What is the right way to call the ‘new’ and ‘edit’ methods when this
kind of mapping is used???

new_definition_definition_field
edit_definition_definition_field

Your friend here is “rake routes” which will give you all the details of
how URLs are mapped to controllers and actions and what helper methods
are available.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs