【发布时间】:2014-10-23 22:20:49
【问题描述】:
我是 Rails 新手,有点困惑命名空间的工作原理。基本上我有类别和客户控制器。
我想创建一个管理命名空间(我还不明白),因此某些方法只能通过/admin/products/id, via: 'delete'(/admin/... 是重要部分)命名空间访问,而其他方法可以正常访问,如下所示: /products, via: 'get'
如果我理解正确的话,为了创建一个命名空间,我需要创建一个子目录并将控制器放在这个目录中,但我想在这种情况下它将无法正常访问?
这可能吗?怎么样?
我已经尝试过(例如)
match '/admin/products', to: 'admin#index', via: 'get'
但它给了我一个错误,说一个变量(在模板中)不可用。但是,当我尝试不使用 /admin 时,它运行良好,这意味着问题出在命名空间情况。
【问题讨论】:
-
您能发布您遇到的确切错误吗?
-
确切的错误是:
undefined methodemail' for nil:NilClass` 这是由模板触发的(@user被传递给模板)。传递的参数是: {"id"=>"customers"} 访问 /admin/customers 时告诉我该路由无法识别 -
查看此链接。它真的帮助我理解了blog.roberteshleman.com/2014/08/14/…
标签: ruby-on-rails ruby-on-rails-4 namespaces