def get_users(options={})
options[:order_col] ||= "created"
options[:order_type] ||= ""
User.where(:region=>123).order("#{options[:order_col]} #{options[:order_type]}")
end
options[:order_col] ||=
действительно говорит:
options[:order_col] = options[:order_col] || ""
который на английском языке говорит установить options[:order_col]
в options[:order_col]
, если установлено, в противном случае ""
. Мы можем установить для order_type значение ""
, поскольку SQL по умолчанию будет иметь порядок ASC.
Пример:
get_users #=> return ordered by created ASC
get_users(:order_col => "sales_count") #=> return order by sales count ASC
get_users(:order_col => "sales_count", :order_type => "DESC") #=> sales_count, DESC
# etc