Rails 3 сбои маршрутизации - PullRequest
       1

Rails 3 сбои маршрутизации

0 голосов
/ 08 октября 2010

У меня пара проблем с маршрутизацией на 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_ для того, чтобы спутать систему маршрутизации с конфликтующимиинформация.

1 Ответ

0 голосов
/ 08 октября 2010

Я обычно использую ресурсные маршруты, но я думаю, что правила для старого стиля одинаковы.URL, который вы положили в блок добавлены.Таким образом,
namespace :store do
controller :users do
get 'action' => :action
end
end
становится '/ store / users / action' сопоставленным: action внутри users_controller

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...