我以为我在之前的帖子中已经解决了这个问题,但我仍然在努力解决它。在我的 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 #
我究竟做错了什么?如何正确地向用户发送来自另一个用户的消息。
如果有人有更好的方法,我对任何策略都持开放态度。