On Jan 27, 2008, at 8:05 PM, David Chelimsky wrote:
On Nov 21, 2007 3:10 PM, Chris Olsen <[EMAIL PROTECTED]> wrote:
I can't figure out how to make the updates to allow for the
route_form
method to return a url that matches the expected.
Here is a sample
route_for(:controller => :task, :action => :new).should == "/task/
new"
If a task has to be created for a user, how exactly do I do this.
The
following doesn't work:
route_for(:controller => :task, :action => :new, :user_id =>
1).should
== "/users/1/task/new" (fails)
route_for(:controller => :task, :action => :new, :user_id =>
1).should
== "/task/new?user_id=1" (passes)
Or do you just use:
new_user_task(1,1).should == "/users/1/task/new"
I haven't been able to find that much documentation on the route_for
method that lists any ways of creating the nested route url.
It uses ActionController::Routing::Routes.generate, which is equally
un-documented :(
You've got a singular task controller (instead of tasks), so I'm not
sure how that's affecting things. I can tell you that if you do this:
route_for(:controller => 'tasks', :action => 'new', :user_id =>
'2').should == '/users/2/tasks/new'
It will pass when your routes.rb has this:
map.resources :users do |users|
users.resources :tasks
end
Give that a whirl.
Cheers,
David
Thanks for the further explanation David! I could've sworn that I
tried this, but sure enough, it works like a charm.
Thanks!
Matt Darby, M.S.
IT Manager / Lead Web Developer
Dynamix Engineering Ltd.
1108 City Park Ave.
Columbus, OH 43206
Cell: (614) 403-5289
www.dynamix-ltd.com
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users