我有一个用户模型和一个关于模型。关于模型是一个页面,用户可以在其中获取更多关于自己的信息,由于其特性更适合放在单独的模型中而不是用户模型中。
我希望能够将其路由到类似于 /:username/about 的路径,并使该路径上的所有动词(GET POST、PUT、DELETE)都能正常工作。
/:username/about
/:username/about/edit
/:username/about
这是我已经拥有的东西
# routes.rb
resources :users do
resources :abouts
end
match ':username/about' => 'abouts#show', :as => :user_about
match ':username/about/add' => 'abouts#new', :as => :user_new_about
match ':username/about/edit' => 'abouts#edit', :as => :user_edit_about
在我拥有的模型中
# about.rb
belongs_to :user
# user.rb
has_one :about
当我对/roses/about进行POST或PUT操作时,它被解释为展示(show)。
Started POST "/roses/about" for 127.0.0.1 at Sun Feb 27 16:24:18 -0200 2011
Processing by AboutsController#show as HTML
我可能错过了路由声明,但是如果与默认值不同,为资源声明每个动词会变得混乱吗?
有什么最简单和更清晰的方法来实现这个目标?