铁轨:铁轨的条件4

时间:2014-06-14 23:43:53

标签: ruby-on-rails ruby-on-rails-4

如何将其转换为rails 4.我正在使用旧的rails应用程序中的一些代码构建消息应用程序以进行实践,并且需要此代码。

:conditions => ["messages.sender_deleted = ?", false]

user.rb

as_many :sent_messages,
  :class_name => 'Message',
  :primary_key=>'user_id',
  :foreign_key => 'sender_id',
  :conditions => ["messages.sender_deleted = ?", false]

  has_many :received_messages,
  :class_name => 'Message',
  :primary_key=>'user_id',
  :foreign_key => 'recepient_id',
  :conditions => ["messages.recepient_deleted = ?", false]

1 个答案:

答案 0 :(得分:2)

条件现在首先出现,例如:

has_many :sent_messages, 
  -> { where('messages.sender_deleted = ?', false) },
  class_name: Message,
  primary_key: 'user_id',
  foreign_key: 'sender_id'

has_many :received_messages, 
  -> { where('messages.recipient_deleted = ?', false) },
  class_name: Message,
  primary_key: 'user_id',
  foreign_key: 'recipient_id'

请参阅this page上的“选项示例”。