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

路线:

资源 :intrigues do member do post :repost post :interested end end

我添加has_one :intrigueMessage模型中。

我添加belongs_to :messageIntrigue模型中。

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

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

4

1 回答 1

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

这将使它没有错误地工作。我还会添加一个重定向。

于 2013-10-24T16:11:23.913 回答