-2

我想对用户之间的消息进行建模,这是要求:

  1. 用户已接收和发送消息,应由 和user.received_messages检索user.sent_messages

  2. 消息有发送者和接收者,应该由message.senderand检索message.receiver

我已将用户模型创建为:

script/generate model User name:string

和消息模型为:

script/generate model Message content:text sender_id:integer receiver_id:integer

我想出了下面的消息,它可以如愿以偿

class Message < ActiveRecord::Base
    belongs_to :sender, :class_name=>'User', :foreign_key=>'sender_id'
    belongs_to :receiver, :class_name=>'User', :foreign_key=>'receiver_id'
end

但我不知道如何为用户建模,任何建议都值得赞赏。

4

2 回答 2

2

就像在消息模型中一样:

class User < ActiveRecord::Base
  has_many :sent_messages, :class_name => "Message", :foreign_key => "sender_id"
  has_many :received_messages, :class_name => "Message", :foreign_key => "receiver_id"
end
于 2008-12-24T11:58:34.767 回答
1

@eric2323223

如果您只是从米兰复制/粘贴代码,那么我怀疑您看到的错误是因为“foreign_key”前面缺少分号。

这些行应为:

  has_many :sent_messages, :class_name => "Message", :foreign_key => "sender_id"
  has_many :received_messages, :class_name => "Message", :foreign_key => "receiver_id"

肯尼

于 2008-12-24T17:29:57.827 回答