syedsibtain
Fri Aug 02 2024
Ransack adds several class methods to ActiveRecord::Base for managing search and sort capabilities. These methods allow us to define which attributes, associations, and scopes are accessible through Ransack queries, thus enhancing security and control.
For example, only the
For examle, only the
In this example, sorting is allowed only by
#rails #ransack #search
ransackable_attributes
: Defines which model attributes can be used in Ransack searches.For example, only the
order_number
, status
, and business_unit
fields can be used in Ransack searches.
def self.ransackable_attributes(auth_object = nil)
%w[order_number status business_unit]
end
ransackable_associations
: Specifies which model associations are accessible for searching.For examle, only the
customer
and vendor
associations are allowed for searching.
def self.ransackable_associations(auth_object = nil)
%w[customer vendor]
end
ransortable_attributes
: Lists which attributes can be used for sorting results.In this example, sorting is allowed only by
order_number
and created_at
def self.ransortable_attributes(auth_object = nil)
%w[order_number created_at]
end
ransackable_scopes
: Determines which custom scopes can be applied in searches.#rails #ransack #search