gpt4 book ai didi

ruby-on-rails - 添加具有命名空间 admin 作为子文件夹的 Controller

转载 作者:行者123 更新时间:2023-12-04 06:10:20 24 4
gpt4 key购买 nike

我在 ROR 3.2 上有一个简单的 cms。
使用此文件夹方案:

应用程序 | Controller |我的 Controller

但我想有一个“管理”部分,我也可以在那里有一些 Controller 。
所以我创造了

rails generate controller admin/Users



应用程序| Controller |admin 和我的管理 Controller

所以我的文件是:
users_controller.rb
class Admin::UsersController < ApplicationController

def index
render(:text => "sou o index!")
end

def list
render(:text => "sou o list")
end

end

在我的路线上,我有:
namespace :admin do
resources :users
end

match ':controller(/:action(/:id))(.:format)'

我是 Rails 的新手,我想不出解决方案。到处都找不到。

问题是
我尝试访问:

http://localhost:3000/admin/users/list



我收到这个错误:

Unknown action The action 'show' could not be found for Admin::UsersController

最佳答案

您似乎不了解 Rails 的 RESTful 路由在默认情况下是如何工作的。我建议阅读 Resource Routing section of the Rails Guides .默认情况下,当使用 resources 时在您的 route ,show action 是用来显示特定模型记录的。您可以 customize this behavior在某种程度上,您可以更改 show 的 URL。 Action ,但不是模型中的方法名称:

resources :users, :path_names => { :new => 'list' }

如果你打算使用 RESTful 路由(你应该这样做),你应该删除默认路由( match ':controller(/:action(/:id))(.:format)' )。此外,您可以运行 rake routes随时从终端查看有关您当前路由配置的详细信息。

关于ruby-on-rails - 添加具有命名空间 admin 作为子文件夹的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9245258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com