为什么我的"加入"行动不起作用,它说无法找到动作'show'

Bla*_*man 0 ruby-on-rails

在我的UserController中我有:

def join
end
Run Code Online (Sandbox Code Playgroud)

我的/ views/user /文件夹中有一个join.html.erb.

我的路线有:

resources :user
Run Code Online (Sandbox Code Playgroud)

当我去:

HTTP://本地主机:3000 /用户/加盟

我明白了:

无法为UserController找到操作'show'

Lar*_*y K 5

Re:为什么找不到加入动作?

要回答您的具体问题,发生的事情是您希望为您的用户模型执行"加入"操作.

您的问题是您没有定义匹配网址http:// localhost:3000/user/join的路由

resources :user路径文件中的行仅定义七个标准其余动词/动作的路径:

索引,新建,创建,显示,编辑,更新,销毁

请参阅:http://apidock.com/rails/ActionController/Resources/resources

补充:要修复,您需要添加显式路径或通用路由.路由文档

补充:Re:为什么我看到错误信息重新显示?为了超精确,路由选择器"GET/usr /:id"(由资源调用创建)用于为User资源选择SHOW操作.:id值设置为"join".由于您没有在控制器中定义Show方法,这就是您所看到的错误.

  • Larry提到的通用路线看起来像这样:`资源:用户做成员做'加入'结束' (2认同)