【问题标题】:Modeling Messages between Users [closed]建模用户之间的消息[关闭]
【发布时间】:2010-09-28 07:43:13
【问题描述】:

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

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

  2. 消息有发送者和接收者,应该由message.sendermessage.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

但我不知道如何为用户建模,不胜感激。

【问题讨论】:

    标签: ruby-on-rails modeling


    【解决方案1】:

    就像在消息模型中一样:

    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
    

    【讨论】:

      【解决方案2】:

      @eric2323223

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

      这些行应该是:

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

      肯尼

      【讨论】:

      • 修正了错字。谢谢。 +1 一个好地方;)
      • 感谢您的回复,我打错了“foriegn_key”。
      猜你喜欢
      • 2017-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      • 2012-10-24
      相关资源
      最近更新 更多