У меня пара проблем с маршрутизацией на Rails 3, и я просто не могу понять, почему что-то не работает.
Например, у меня есть функциональный тест, который включает:
assert_routing("/store/users/me@here.com/license/ch7bHtrx",
{:controller => 'store/users', :action => 'license', :email => 'me@here.com', :id => 'ch7bHtrx' })
, который производит
ActionController::RoutingError: No route matches {:controller=>"store/users", :email=>"me@here.com", :id=>"ch7bHtrx", :action=>"license"}
/test/functional/store/users_controller_test.rb:32:in `test_should_get_license_download'
, что интересно, поскольку он фактически работает на пути к направлению контроллера, Routers.rb включает в себя
namespace :store do
controller :users do
get 'users/:email/license/:id' => :license, :email => VALID_EMAIL_REGEX_FOR_ROUTE, :as => :license_download
end
end
, а маршруты rake выдают
store_license_download GET /store/users/:email/license/:id(.:format) {:action=>"license", :controller=>"store/users", :email=>/([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)/i}
Я относительный новичок в Rails, поэтому я не чувствую себя достаточно компетентным, чтобы сказать, что что-то глючит, но я просто не могу придумать какое-либо объяснение, что в рейк-маршрутах будут эти записи, но не получитсяна самом деле, таким образом.
Любая помощь будет принята с благодарностью.
Редактировать: Устранена проблема с примером, которая в конечном итоге была ошибкой в form_ для того, чтобы спутать систему маршрутизации с конфликтующимиинформация.