Ruby on rails 3 没有与控制器(Rails 3)匹配的路由

Ruby on rails 3 没有与控制器(Rails 3)匹配的路由,ruby-on-rails-3,Ruby On Rails 3,我是RoR的新手,请帮我找出我错的地方 我得到以下错误 Routing Error No route matches {:controller=>"groups"} Try running rake routes for more information on available routes 尝试渲染以下视图时 <li><%= link_to 'My groups', user_groups_path %></li> <li><%=

我是RoR的新手,请帮我找出我错的地方

我得到以下错误

Routing Error
No route matches {:controller=>"groups"}
Try running rake routes for more information on available routes
尝试渲染以下视图时

<li><%= link_to 'My groups', user_groups_path %></li>
<li><%= link_to 'New group', new_user_group_path %></li>
这是‘model.rb’

class User < ActiveRecord::Base
has_many :groups

class Group < ActiveRecord::Base
belongs_to :user
has_many :people
为:用户设计

GroupsController.rb:

def index
@user = current_user
@user.groups = Group.all
是: def索引 @用户=当前用户 @groups=Group.all 结束

UsersController.rb

class Devise::UsersController < DeviseController
   def show
   end
end
class designe::UsersController
我认为这是显而易见的。你的电脑有一个打字错误

<li><%= link_to 'My groups', user_groups_path %></li>

  • 链接。路径应该是
    user\U group\U path
    (不带“s”),如
    rake routes
    输出中所示,而不是您在链接中编写的路径。

    要在用户内部创建嵌套组,您需要传递在其中创建组的用户id

    例如:如果我有user1

    然后我将使用以下路线:

    链接到“我的群组”,用户群组路径(user1)

    链接到“我的群组”,用户群组路径(user1.id)

    链接到“我的群组”,新的用户群组路径(user1)

    链接到“我的群组”,新的用户群组路径(user1.id)

    这意味着,您将向哪个用户创建组

    如果你想访问任何特定的组,比如说:grp1

    然后我的url将被删除

    链接到“我的组”,用户组路径(user1,grp1)

    这是一个很好的路由参考


    您有GroupsController吗?我有。它是在我生成组脚手架时由Rails生成的。那里没有做任何改变/我按照你的建议做了改变。现在它说“没有路由匹配{:action=>“new”,:controller=>“groups”}”。添加到previos注释中。它说没有路由匹配{:action=>“show”,:controller=>“groups”}。(不是新的)我也试着从视图中删除这个
  • 。所以只剩下
  • 。然后它说,
    没有路由匹配{:action=>“new”,:controller=>“groups”}
    。所以,问题仍然存在…已尝试
    链接到“我的组”,新用户\u组\u路径(当前用户)
    (根据我的用例)。但还是有同样的问题。像这样:
    没有路由匹配{:action=>“show”,:controller=>“groups”,:user_id=>#在您的路由中,这听起来可能很疯狂。您可以在写入的路由块之后移动设备吗?刚刚尝试。没有任何更改:(为什么“疯狂”?我也认为问题出在我的
    路由中。rb
    ,但我不知道该在那里更改什么。只注意到一件事。将新路径代码更改为这样。
    链接到“我的组”,新用户组路径(current\u user.id)
    。我觉得路由是正确的。是的,刚刚更新了初始帖子。感谢您的帮助。
    def index
    @user = current_user
    @user.groups = Group.all
    
    class Devise::UsersController < DeviseController
       def show
       end
    end
    
    <li><%= link_to 'My groups', user_groups_path %></li>