В моем проекте Ruby on Rails у меня есть модель Message
с атрибутом direction
как «входящий» или «исходящий».Другим атрибутом для Message
является body
, который представляет фактическое содержание сообщения.Я использую рельсы 5.1.2.
Теперь я хочу выбирать сообщения, исключая входящие сообщения, чье тело находится в массиве, скажем, ['a','b','c']
.
Например, если в моей базе данных есть следующие сообщения:
{direction: 'outgoing', body: 'a'}
{direction: 'outgoing', body: 'b'}
{direction: 'outgoing', body: 'd'}
{direction: 'incoming', body: 'd'}
{direction: 'incoming', body: 'c'}
Я хочу выбрать только сообщения, кроме последнего, т.е. {direction: 'incoming', body: 'c'}
Я пытался
Message.where.not(["direction = ? and body != ?","incoming","['a','b','c']"])
Это вернуло мне только исходящие сообщения, но входящее сообщение с телом "d" отсутствует.
Есть предложения?Благодарю.