【发布时间】:2018-09-20 16:45:35
【问题描述】:
在我的 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”的传入消息。
有什么建议吗? 谢谢。
【问题讨论】:
标签: ruby-on-rails ruby postgresql activerecord ruby-on-rails-5