2013-10-16 47 views
0

我想設置一個系統,如果用戶A正在閱讀用戶B的狀態並點擊'我感興趣',它會向用戶B的收件箱發送預先默認消息(創建消息表中的新記錄)。這就像在用戶向其他用戶發送「眨眼」的社交網絡上。我可以爲應用程序的另一部分做類似的設置,但我無法使用此「閃爍」功能。在用戶點擊「我感興趣」後,用戶不再可以獲得該狀態。我收到一個undefined method 'interested=錯誤。'眨眼'系統未定義的方法

好奇控制器:

def create 
     @intrigue = current_user.intrigues.build(intrigue_params) 
    end 

    def destroy 
     @intrigue.destroy 
    end 

    def repost 
     @intrigue = Intrigue.find(params[:id]).repost(current_user) 
    end 


#Need help with below code 

    def interested 
     @intrigue = User.find(params[:id]) 
     @message = Message.create(:subject => "#{user_id} is Interested in you", 
           :sender_id => @user_id, 
           :recipient_id => @intrigue.user_id, 
           :body => "I saw your date and I'm interested") 
     @intrigue.message = @message 
     render :new, alert: 'Your message was sent.' 
    end 

路線:

資源:陰謀做 成員做 後:轉貼 後:興趣 結束 結束

我加has_one :intrigueMessage模型。

我將belongs_to :message添加到Intrigue模型。

intrigues表有以下幾列:id, content, user_id

messages表有以下幾列:id, sender_id, recipient_id, subject, body

+0

請發佈日誌以調用'有趣'行動。請參閱有關如何在此處調試應用程序的更多信息:http://nofail.de/2013/10/debugging-rails-applications-in-development/ – phoet

+0

我需要代碼幫助。我一直在如何完成這個頭腦風暴。當我看着'def interested'時,它看起來不正確。我有我需要的部分,但有一些缺失。 – pwz2000

+0

關於你的代碼示例中顯而易見的事情是'user_id'和'@ user_id'的使用可能是錯誤的。 – phoet

回答

1

刪除線@intrigue.message = @message

你的發件人ID和收件人ID是不正確也。

def interested 
    @intrigue = User.find(params[:id]) 
    @intrigue = current_user 
    @recipient = Intrigue.find(params[:id]) 

    @message = Message.create(:subject => "Someone is Interested in you", 
         :sender_id => @intrigue.id, 
         :recipient_id => @recipient.user_id, 
         :body => "I saw your date and I'm interested") 
    render :new, alert: 'Your message was sent.' 
end 

這將使它工作沒有錯誤。我也會添加一個重定向。