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. > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users