Rails の searchlogic プラグインにはあまり詳しくありません (Railscast は確認しましたが、以下の特定のコードに関しては役に立ちませんでした)。以下の3つの方法でそれがどのように使用されているかを簡単に説明できる人はいますか? 返信ありがとうございます。
def extract_order
@order_by = if params[:order].present?
field = params[:order].gsub(".", "_")
field = field.starts_with?('-') ? 'descend_by_'+field[1..-1] : 'ascend_by_'+field
field.to_sym
else
# Workaround
'searchlogic'.to_sym
end
end
def find_resources
@search_conditions = params[:search_conditions] || {} # See http://www.binarylogic.com/2008/11/30/searchlogic-1-5-7-complex-searching-no-longer-a-problem/
@resources = @resource_model.send(@order_by).searchlogic(:conditions => @search_conditions)
end
def apply_filters
f = filter_by
f.each do |filter_field|
filter_constraints = params[filter_field.to_sym]
if filter_constraints.present?
# Apply searchlogic's scope
@resources.send(filter_field,filter_constraints)
end
end
end