1

我以为我在之前的帖子中已经解决了这个问题,但我仍然在努力解决它。在我的 Rails 应用程序中,我试图让用户能够在应用程序内相互发送消息(不是通过电子邮件)。我正在使用 rails 3.2.8 和 ruby​​ 1.9.3p194

消息 belongs_to :user

用户 has_many :messages

这是我在消息模型中发送消息的方法

  def self.send_message(from, recipient)
     recipient do |recipient|
       msg = self.clone
       msg.sent = false
       msg.user_id = recipient
       msg.save
     end
     self.update_attributes :user_id => from.id, :sent => true
   end

我正在尝试通过以下方式在 Rails 控制台中对此进行测试: Message.send_message(u2,u)

其中 u2 = User.find(1) & u = User.find(2)

我不断收到错误NoMethodError: undefined method `recipient' for #

我究竟做错了什么?如何正确地向用户发送来自另一个用户的消息。

如果有人有更好的方法,我对任何策略都持开放态度。

4

1 回答 1

1

我不确定这是否有一个好的答案。最后我把我的桌子换了一点,然后用https://github.com/LTe/acts-as-messageable

于 2012-11-10T09:45:26.507 回答