Начал создавать приложение здесь.архитектура клиентского и серверного стилей, отправляющая активные ресурсы по проводам и сохраняющая их как серверную часть activeRecord.Удалось настроить его и запустить с хорошим примером в книге O Reilly, за исключением использования scaffold.
Rails маршрутизация - пользовательские маршруты для ресурсов использует map.resources из rails 2- IЯ использую рельсы 3, так что это на самом деле не применимо, и хотя я опубликовал вопрос о маршрутах от 2 до 3, я все еще не могу преобразовать это.
Итак, что я смотрю на:маршруты с
resources :user_requests
дают:
user_requests GET /user_requests(.:format) {:controller=>"user_requests", :action=>"index"}
POST /user_requests(.:format) {:controller=>"user_requests", :action=>"create"}
new_user_request GET /user_requests/new(.:format) {:controller=>"user_requests", :action=>"new"}
edit_user_request GET /user_requests/:id/edit(.:format) {:controller=>"user_requests", :action=>"edit"}
user_request GET /user_requests/:id(.:format) {:controller=>"user_requests", :action=>"show"}
PUT /user_requests/:id(.:format) {:controller=>"user_requests", :action=>"update"}
DELETE /user_requests/:id(.:format) {:controller=>"user_requests", :action=>"destroy"}
Я хотел бы удалить это и ресурсы и иметь свои собственные маршруты, указывающие на мои собственные определения.
Здесьбыстрая попытка
match '/user_requests(.:format)' => 'user_requests#create , :via =>:post'
match '/user_requests/:id(.:format)' =>"user_requests#show"
возвращает почти то же самое, что и выше
/user_requests(.:format) {:controller=>"user_requests", :action=>"create"}
/user_requests/:id(.:format) {:controller=>"user_requests", :action=>"show"}
За исключением существительных REST в начале и ссылок.То же самое, но мои собственные маршруты не работают.Что мне нужно добавить к моим маршрутам, чтобы заставить их делать то же самое, что и ресурсы?
Я не держу эшафот, поскольку мне сказали, что он никогда не использовался в реальном мире.И я буду менять названия своих определений, но по одному шагу за раз.
Ошибка, которую показывает сервер:
Started POST "/user_requests.xml" for 127.0.0.1 at Tue Jul 12 17:13:32 +0100 2011
Processing by UserRequestsController#create as XML
Parameters: {"method"=>"POST", "user_request"=>{"depth"=>3000000, "url"=>"www.stackoverflow.com"}}
SQL (0.1ms) SELECT 1 FROM "user_requests" WHERE ("user_requests"."url" = 'www.stackoverflow.com') LIMIT 1
AREL (0.3ms) INSERT INTO "user_requests" ("updated_at", "depth", "url", "created_at") VALUES ('2011-07-12 16:13:32.765392', 3000000, 'www.stackoverflow.com', '2011-07-12 16:13:32.765392')
Completed 404 Not Found in 17ms
ActionController::RoutingError (No route matches {:controller=>"user_requests", :id=>#<UserRequest id: 6, url: "www.stackoverflow.com", depth: 3000000, created_at: "2011-07-12 16:13:32", updated_at: "2011-07-12 16:13:32">, :action=>"show"}):
app/controllers/user_requests_controller.rb:19:in `create'
app/controllers/user_requests_controller.rb:16:in `create'
Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.0.9/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.8ms)