2016-08-06 2 views
0

Я хочу добавить несколько значений в массив, но просто добавить первый раз, в следующий раз, когда я хочу что-то добавить, вызов пропустит процесс, где ***just before filter *** комментарий. Вот код:Добавить несколько значений в массив с Mongoid

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 

ответ

0

Решенный!

И наконец, я прошел контакт с двух сторон внутри if и else.

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 
Смежные вопросы