命名空间控制器重定向URL

时间:2011-03-13 23:58:06

标签: ruby-on-rails ruby ruby-on-rails-3 namespaces

我可能有一个简单的问题。我用panel控制器创建了一个名称空间categories

创建或修改类别后,rails会将我重定向到website.com/categories/:id而不是website.com/panel/categories/:id

我注意到在_form视图中,@panel_categories函数的form_for()参数指向/categories/panel/categories,这导致了这种行为。当然,我可以添加一个:url => '/panel/categories'参数,但我觉得这不是最好的解决方案......

您能为我提供更好的解决方案吗?

提前致谢

文件:

routes.rb:

Photowall::Application.routes.draw do
  resources :photos

  resources :categories

  resources :fields

  resources :users, :user_sessions
  match 'login'  => 'user_sessions#new',     :as => :login
  match 'logout' => 'user_sessions#destroy', :as => :logout

  namespace :panel do
    root :to => "photos#index"
    resources :users, :photos, :categories, :fields
  end

  namespace :admin do
    root :to => "users#index"
    resources :users, :photos, :categories, :fields
  end
end

categories_controller.rb:

http://pastebin.com/rWJykCCF

model是默认

form:

http://pastebin.com/HGmkZZHM

2 个答案:

答案 0 :(得分:2)

form_for [:panel, @panel_category]

答案 1 :(得分:0)

您可以将网址设置为以下路线:

:url => panel_categories_path

我不确定您的路线是什么,但这应该适用于您的应用程序。