Как правильно добавить скобки в SQL-запросы с предложениями 'или' и 'и' с помощью Arel?

Я использую Ruby on Rails 3.2.2, и я хотел бы создать следующий запрос SQL:

SELECT `articles`.* FROM `articles` WHERE (`articles`.`user_id` = 1 OR `articles`.`status` = 'published' OR (`articles`.`status` = 'temp' AND `articles`.`user_id` IN (10, 11, 12, <...>))) 

ИспользуяАрел сюда

Article
 .where(
   arel_table[:user_id].eq(1)
   .or(arel_table[:status].eq("published"))
   .or(
     arel_table[:status].eq("temp")
     .and(
       arel_table[:user_id].in(10, 11, 12, <...>)
     )
  )
)

генерирует следующее (note: скобки не совпадают с первым запросом SQL):

SELECT `articles`.* FROM `articles` WHERE (((`articles`.`user_id` = 1 OR `articles`.`status` = 'published') OR `articles`.`status` = 'temp' AND `articles`.`user_id` IN (10, 11, 12, <...>))) 

посколькуI think последний SQL-запрос не работает; как первый,how could I use Arel (или, может быть, что-то еще)so to generate the SQL query as the first one?

Update (after comments)

Приведенные выше SQL-запросы & quot; работа & quot; то же самое, но я все еще хотел бы сгенерировать точный SQL-запрос в качестве первого в вопросе (основная причина сделать это состоит в том, что первый SQL-запрос более читабелен, чем второй, поскольку в первом используется меньше и & quot; явные & quot; скобки), как я могу сделать это с помощью Arel?

Ответы на вопрос(3)

Ваш ответ на вопрос