2016-08-04 4 views
0

私はMongoidを使ってRails上でユーザ間の連絡先を作成しようとしています。コンソールはこれでにSyntaxErrorを示していますRoRの文を閉じる

MyApp/app/controllers/contact_controller.rb:18: syntax error, unexpected end-of-input, expecting keyword_end 

これはコントローラです:

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 
    redirect_to "/" 
    end 
end 

、これはモデルです:

class Contact 
    include Mongoid::Document 
    include Mongoid::Timestamps 


    field :owner, :type => String 
    field :friendlist, :type => Array 
    embedded_in :users 
end 

答えて

1

あなたのコントローラでendを逃しています。以下の構文をチェックしてください。

class ContactController < ApplicationController 
    def addNew 
    Contact.where(owner: current_user).where(friendlist: params[:username]) do |contact| 
     .... 

     if contact == nil 
     Contact.find_or_create_by(owner: current_user) do |contact| 

     <-- missing end Contact.find_or_create_by ... do |contact| 

     end <--- Okay with if block 

    <-- missing end Contact.where ... do |contact| 

    redirect_to "/" 
    end <--- Okay with fucntion addNew 
end <--- Okay with ContactController 
+0

これは、ユーザーのフレンドリストに連絡先があるかどうかを確認する必要があります。 –

関連する問題