У меня есть два класса:
class User < ActiveRecord::Base
:has_one :foo
end
class Foo < ActiveRecord::Base
:belongs_to :user
end
Нечто является дополнительным.
Я создал следующую маршрутизацию:
resources :users do
resources :foo
end
Который приводит к следующим маршрутам:
GET /users/:user_id/foo(.:format) {:controller=>"foos", :action=>"index"}
user_foos POST /users/:user_id/foo(.:format) {:controller=>"foos", :action=>"create"}
new_user_foo GET /users/:user_id/foo/new(.:format) {:controller=>"foos", :action=>"new"}
GET /users/:user_id/foo/:id(.:format) {:controller=>"foos", :action=>"show"}
PUT /users/:user_id/foo/:id(.:format) {:controller=>"foos", :action=>"update"}
user_foo DELETE /users/:user_id/foo/:id(.:format) {:controller=>"foos", :action=>"destroy"}
edit_user_foo GET /users/:user_id/foo/:id/edit(.:format) {:controller=>"foos", :action=>"edit"}
Вопросы:
Спасибо за внимание.
Если ваша модель имеет ассоциацию has_one, попробуйте настроить маршрут, используя resource: foo
(обратите внимание на единственное имя метода «resource», а не «resources»). Это настроит одноэлементный маршрут ресурса (который, например, не имеет действия индекса, а действия члена не имеют параметра id, поскольку есть только один член). См. Также http://apidock.com/rails/ActionController/Resources/resource (документация 2.3, но также применима к 3.0 afaik).