UsersController#show中的Mongoid :: Errors :: DocumentNotFound

时间:2013-12-19 06:53:17

标签: mongodb devise ruby-on-rails-4 mongoid

我在UsersController中显示错误Mongoid :: Errors :: DocumentNotFound#show我试图点击我的应用程序中使用mongoid rails 4.0.1并设计的注销。

我的用户控制器代码是

class UsersController < ApplicationController
  before_filter :authenticate_user!

  def index

    @users = User.all
  end

  def show

    @user = User.find(params[:id])
  end

end

错误是:

  

问题:找不到具有id(s)sign_out的类用户的文档。简介:使用id或id数组调用User.find时,每个参数必须与数据库中的文档匹配,否则将引发此错误。搜索的是id(s):sign_out ...(总共1个)并且找不到以下ID:sign_out。解决方案:搜索数据库中的id或将Mongoid.raise_not_found_error配置选项设置为false,这将导致返回nil,而不是在搜索单个id时引发此错误,或者在搜索时仅返回匹配的文档数倍。

请在这个问题上帮助我。

1 个答案:

答案 0 :(得分:0)

类似的问题是here

虽然所有第一个答案都很重要并且需要进行检查(确保你的'退出'链接上有:method => :delete),但这是第三个答案,它修复了我的Rails 4.1.6 + Mongoid app:添加jquery_ujs。

具体来说,将//= require jquery_ujs添加到我的application.js文件中会使我的链接断开并使其成功退出。