有条件的'匹配任何'查询 - 可能吗?

时间:2014-03-19 17:21:32

标签: mysql ruby-on-rails validation

是否可以查询等同于&#34的语句;如果有任何匹配"?

努力完成:

if 
     @foo.bars.select(:bar_id) == current_user.bar.id 
     flash.now[:alert] = "Matches at least one record"
else
     redirect_to root_path

(需要运行一个查询,检查收集的任何:bar_ids是否与current_user.bar.id匹配)

我希望这是有道理的。容易写出来而不是粘贴我的整个复杂应用程序。

TIA

2 个答案:

答案 0 :(得分:1)

如果您有Enumerable(例如数组),则可以使用.include?。所以你可以做到

@foo.bars.collect(&:id).include?(current_user.bar.id)

答案 1 :(得分:1)

Active Record any?

@foo.bars.where(:bar_id => current_user.bar.id).any?