我有一个到用户收件箱的命名路由,它由消息资源维护。我想确保用户只能从我的命名路径访问他们的收件箱,并删除“/ messages”作为选项。如何在Rails 3中将命名路由替换为资源路径?
resources :messages
match "/u/:nickname/inbox" => "messages#index", :as=>:inbox
有没有简单的方法呢?我必须为“/ messages”创建匹配路径吗?
我有一个到用户收件箱的命名路由,它由消息资源维护。我想确保用户只能从我的命名路径访问他们的收件箱,并删除“/ messages”作为选项。如何在Rails 3中将命名路由替换为资源路径?
resources :messages
match "/u/:nickname/inbox" => "messages#index", :as=>:inbox
有没有简单的方法呢?我必须为“/ messages”创建匹配路径吗?
解决方案1:
我想创建的消息的路径,并删除resources :messages
这种方法将删除所有的正常途径的消息,你将不得不重新添加那些你想要可用。
解决方案2:
仅删除了路由指数期权,并允许所有其他标准的路线是一样的。
resources :messages, :except => :index
match "/u/:nickname/inbox" => "messages#index", :as=>:inbox
我的新答案有效吗? – rwilliams 2010-11-15 21:23:05
是的,谢谢。 – picardo 2010-11-15 23:57:56