ActiveRecord:多个哈希条件语法错误

时间:2014-12-08 20:46:51

标签: ruby-on-rails-4 activerecord

我正在尝试选择所有拥有有效部门的用户。

User
 .joins( orders: [{ order_lines: :accounts}] )
 .where( users: {id: @user}, accounts: { "accounts.dept_id > ?": 0 } )

我收到以下错误,

syntax error, unexpected ':', expecting => ...accounts.dept_id > ?": 0 } )

我感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:2)

不幸的是,您无法真正组合散列和字符串Active Record方法调用变体。

我认为最干净的方法是简单地进行两次.where次呼叫,如下所示:

...where( users: {id: @user}).where("accounts.dept_id > ?", 0)