首先的DefineUser class和id的對象,如果你想LINK_TO一些define_user,你必須提供對象或id。像這樣的:admin_define_user_path(@define_user)
。 要在控制檯中顯示所有可能的路線rake routes
。
此外資源應該是複數形式。
此外,你必須在控制器中提供命名空間。
P.S. 正如我所看到的,使用名爲DefineUser
的模型工作是一個非常糟糕的主意。這不是一種鐵路方式。只需使用User
即可。 DefineUser
是方法的好名字,但不是模型。
所以,最好的辦法來處理你的代碼:
的routes.rb
namespace :admin do
root to: "home#index"
resources :users
end
users_controller.rb
class Admin::UsersController < ApplicationController
def index
...
end
end
視圖
= link_to 'Users', admin_users_path # for index
= link_to 'User', admin_user_path(@user) # for one user
好主意分離控制器通過命名空間。例如,你可以有一個結構:
application_controller.rb
admin #folder
L base_controller.rb
L users_controller.rb
L ..._controller.rb
所以你base_controller應該從application_controller繼承
class Admin::BaseController < ApplicationController
layout 'admin_layout' # Different layout for all admin pages
在管理命名空間的控制器將被繼承base_controller
class Admin::UsersController < Admin::BaseController
def create
...
end
先給像這個'= link_to'User',admin_define_user_path(@define_user)' – Pavan
你在控制器中有'show'方法嗎? – Pavan
用show方法不工作,也沒有。 – user2239655