Trying to get my head around routes, particularly RESTful routes, and
mapping to controllers, and the magic urls that go with them.
I have a model called course_materials which acts_as_tree which also
belongs_to a model called course.
I have this in routes.rb
map.resources :courses do |course|
course.resources :course_materials do |course_material|
in views/course_materials/new.rhtml I have a form with:
url => course_material_path
This generates the html I would imagine it should. e.g.
However, when the form is submitted, instead of the controller maping
this to 'create' it maps it to 'update'.
Could someone help me grasp why this isnt mapping to create, and what
I might need to do so? is what Im trying to do even possible with
Are you really trying to nest a resource [:course_materials] within itself?? I think [and I’m just guessing here] the confusion is arising from just that. When you’ve got an id with that first :course_materials, Rails is going to send that as an update [since it has an id and therefore a record already]. I dunno if it’s possible or not to use acts_as_tree with RESTful routes but it seems like the problem lies in it.
Are you _really_ trying to nest a resource [:course_materials] within
itself?? I think [and I'm just guessing here] the confusion is arising from
just that. When you've got an id with that first :course_materials, Rails is
going to send that as an update [since it has an id and therefore a record
already]. I dunno if it's possible or not to use acts_as_tree with RESTful
routes but it seems like the problem lies in it.
hmm... yep - i am trying that - only because it _should_ be possible.
and it kinda works - more than i dared hope...
it seems that with say:
1 gets assigned to :course_material_id (which I can use for the
and 2 gets assigned to the id.
the first problem lies matching to correct action - it seems that
sometimes the left hand end gets used to match, and sometimes the
the second problem lies in being able to predict control what url
helpers will do and are available
the 3rd problem exists in that - you cant recurse - afaict - the
extent to which you're prepared to nest, is the extent to which you
can get some results
i've got around it by doing map.control for somethings and letting
rest works where it seems to - its a bit flakey possibly, but works to
a point - but inspite of getting around it - id still like to
understand either how to make it work or why it doesnt