首先的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