Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

This project is archived and is in readonly mode.

Named route with :path_prefix opt, is generated incorrectly when called from a test

#679

Here is an example: http://pastie.org/239105

It works if I open: http://localhost:3012/a/1/2/new. Also, it works if I pass all params into my_new_post_path(:a => 1, :b => 2, :foo => 3). It also works if I remove :path_prefix from a route definition, like this:

map.my_new_post "a/:a/:b/new", :controller => "posts", :action => "show"

Reported by Vova Z · July 23rd, 2008 @ 07:37 AM

State: invalid
Milestone: 2.x
Assigned to: nobody
Importance: none

Activity

  1. Pratik
    Pratik
    • State changed from new to invalid

    July 23rd, 2008 @ 11:41 AM

  2. Vova Z
    Vova Z

    I'm sorry, but does this mean that I need to pass all params explicitly?

    If I have:

    map.a "a", :path_prefix => "path1/:param1/:param2", ...

    And if I want my tests to work correctly, I can't use a_path() - without params, even if I already have all required params in URL. Instead, I should always use a_path(:param1 => params[:param1], :param2 => params[:param2])?

    Then, what is the difference between:

    map.a "a", :path_prefix => "path1/:param1/:param2", ...

    and

    map.a "path1/:param1/:param2/a", ...

    Why first named route does not work (in ftests), and the last one is OK?

    Thank you.

    July 23rd, 2008 @ 09:11 PM