我对系统的实施有疑问,该系统会将消息发送到数据库中的人员子组。
[潜在]消息收件人保存在表格中。每个收件人记录都有一组列布尔值,表明它们是否是特定组的成员:msg_group_1:boolean,msg_group_2:boolean等。收件人可能属于多个组。
还有一个Message表,其中每个消息记录都有一组相应的布尔值,用于指示消息所针对的组。
然后,在撰写新邮件时,表单中会包含一个复选框,指示邮件的目标组。
要实现Send,我需要找到属于新Message所针对的任何组的Recipients表的所有成员。
我不能用,
Recipients.find(:all, :conditions => ['msg_group_1 = ? OR msg_group_2 = ?', @message.msg_group_1, @message.msg_group_2])
...因为这将匹配布尔值相等的记录,即使该对是布尔都是假的(显然我只想要两个标志都为真的情况)。
是否有一种有效的方法可以使用SQL搜索“查找”这些,或者其他一些Ruby on Rails技巧可以获得两个标志都为真的匹配记录?
感谢。
答案 0 :(得分:0)
好的,这个问题在撰写本文时已经开放了5个月,并且没有人提供解决方案,所以“回答”#39;似乎这是不可能的。