对文档中的数组内容进行Mongoid查询

时间:2016-08-05 15:26:34

标签: ruby-on-rails mongoid

我尝试检索是否存在使用Mongoid和Rails的用户之间创建连接的某些信息,以下是代码:

class ContactController < ApplicationController
  def addNew
    @newFriend = params[:username]
    puts "***value of @newFriend***"
    puts @newFriend
    puts "***end****"
    Contact.where(owner: current_user).where(friendlist: params[:username]) do |contact|
      puts "***value of @contactAlreadyExists***"
      puts contact
      puts "***end****"
      if contact == nil
        Contact.find_or_create_by(owner: current_user) do |contact|
          contact.push(friendlist: params[:username])
        end
      end
    end
    redirect_to "/"
  end
end

控制台无法显示任何内容

puts "***value of @contactAlreadyExists***"
      puts contact
      puts "***end****"

1 个答案:

答案 0 :(得分:0)

这是一个时间解决方案的原因,然后再添加一个无法再次进入查询的人

user.contacts.find_or_create_by(owner: user.id) do |contact|

代码:

class ContactController < ApplicationController
      def addNew
        @newFriend = params[:username]
        puts "***value of @newFriend***"
        puts @newFriend
        puts "***end****"
        User.find_by(username: current_user.username) do |user|
          puts "*** here enters***"
          user.contacts.find_or_create_by(owner: user.id) do |contact|
            User.find_by(username: params[:username]) do |friend|
              puts "***enter on friend"
              puts friend
              contact.push(friendlist: friend.id)
            end
            puts "***contact***"
            puts contact
            puts "***end****"
          end
        end
        redirect_to "/"
      end
    end