Есть ли в Rails 3 какой-либо недеректированный параметр, в котором я могу передать структуру данных для выполнения запроса вместо использования метода цепочки методов?
Рассмотрим хэш, представляющий набор критериев для ограничения набора записей (скажем, Документы) ..
{
:conditions => {
:account_id => 2
},
:limit => 5, # page size
:offset => 5, # (page-1) * page_size
:sort => 'id DESC'
}
Это может быть связано с URL-адресом, таким как:
/documents.js?page_size=5&page=2&sidx=id&sord=DESC&filter[account_id]=2
И я хочу избежать любых вопросов важности порядка при переводе хэша в последовательную серию вызовов методов:
# which is 'right', or better ?
Document.offset(5).where(:account_id => 2).limit(5)
Document.where(:account_id => 2).limit(5).offset(5)
Я обеспокоен тем, что программное преобразование набора критериев запроса, выведенных из параметров HTTP или объектов JSON, может быть более сложным, если мне придется обходить хеш и создавать вызовы цепочечных методов.