Ruby on rails 3 没有与控制器(Rails 3)匹配的路由
我是RoR的新手,请帮我找出我错的地方 我得到以下错误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><%=
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>