Advertisement
Guest User

Untitled

a guest
Oct 24th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rails 0.84 KB | None | 0 0
  1.     def sort_resources
  2.       if ['asc', 'desc'].include? @sort.try(:values).try(:first).try(:downcase)
  3.         order_field = Field.where("fieldable_id IN (?) AND fieldable_type = ? AND coalesce(fs.key, fi.key, fb.key, fj.key, fl.key, fd.key) = '#{@sort.keys[0]}'", @resources.pluck(:id), @resources.klass).first
  4.         order_field_table = order_field.field_type.constantize.table_name
  5.         @resources = @resources.joins("LEFT JOIN fields ON fields.fieldable_type = '#{@resources.klass}' AND fields.fieldable_id = #{@resources.klass.table_name}.id AND fields.field_type = '#{order_field.field_type}'").joins("INNER JOIN #{order_field_table} ON fields.field_id = #{order_field_table}.id AND fields.field_type = '#{order_field.field_type}' AND #{order_field_table}.key = '#{@sort.keys[0]}'").order(get_order_query(order_field_table))
  6.       end
  7.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement