【问题标题】:Add multiple value to an array with Mongoid使用 Mongoid 向数组添加多个值
【发布时间】:2016-08-06 15:23:23
【问题描述】:

我想向一个数组添加多个值,但只是第一次添加,下次我想添加一些东西时,调用会跳过 ***just before filter *** 注释的过程。代码来了:

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 "*** just before filter ***"
      user.contacts.find_or_create_by(owner: user.id) do |contact|
        puts "*** enters before find the friend user***"
        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

【问题讨论】:

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


    【解决方案1】:

    解决了!

    最后我通过了ifelse里面两侧的联系人。

    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 "*** aqui entra justo antes de filtrar o crear***"
          puts user.contacts
          if user.contacts(owner: user.id).exists?
            puts "***despues de comprobar si existe entra***"
            user.contacts.find_by(owner: user.id) do |contact|
              puts "***despues de crear el contacto entra***"
              User.find_by(username: params[:username]) do |friend|
                contact.push(friendlist: friend.id)
              end
            end
          else
            user.contacts.find_or_create_by(owner: user.id) do |contact|
              puts "*** aqui entra justo antes de encontrar al usuario amigo***"
              User.find_by(username: params[:username]) do |friend|
                puts "***entra en friend"
                puts friend
                contact.push(friendlist: friend.id)
              end
            end
          end
        end
        redirect_to "/"
      end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      • 2020-03-09
      • 2015-01-08
      • 2016-10-22
      • 1970-01-01
      相关资源
      最近更新 更多