Estoy un poco confundido con el uso de una búsqueda avanzada de registros. Estoy intentando hacer una búsqueda personalizada donde no todos los nombres de las tablas se pueden seleccionar como términos de búsqueda y no se usan todos los predicados. Usé railscast como tutorial para esto, pero no encuentro nada sobre cómo limitar el número de predicados. ¿Existe también la posibilidad de utilizar los nombres de campos de tabla y precarios en diferentes idiomas (solo etiquetas)?Gema de Ransack elegir predicados y nombres de predicados personalizados
Mi búsqueda
= search_form_for @q, :url => search_offers_path, :html => { :method => :post } do |f|
= f.condition_fields do |c|
.field
= f.attribute_fields do |a|
= a.attribute_select
= f.predicate_select
= f.value_fields do |v|
= v.text_field :value
= link_to "#{t :destroy}", '#', class: "remove_fields"
= link_to_add_fields "#{t :add}", f, :condition
.field
= t :sort
= f.sort_fields do |s|
= s.sort_select
= f.submit "#{t :search}"
Mi controlador
def index
select_offers = Offer.where { (user_id != id) & (ended == false) & ((created_at + life_time) > DateTime.now) }
@q = select_offers.search(params[:q])
@offers = @q.result(:distinct => true).page(params[:page])
@q.build_condition
@q.build_sort if @q.sorts.empty?
end
Fantástico Pregunta y respuesta, felicidades a eso, ya que parece que recientemente has profundizado en Ransack, ¿podrías echar un vistazo a mi pregunta? Http://stackoverflow.com/questions/13241481/in-form-sorting -using-ransack-gem-not-working Realmente podría necesitar ayuda, ¡estoy realmente atascado! Gracias – jlstr
Hola, lo siento molestarlo de nuevo, ¿sabe si hay una forma de excluir ciertos métodos en la matriz UNRANSACKABLE_ATTRIBUTES? Por ejemplo, me gustaría excluir los métodos creados por las relaciones, en mi caso, un producto pertenece a un tipo de producto y el tipo de producto aparece en el menú desplegable. ¿Hay un modo de quitarlo? ¡Gracias por adelantado! – jlstr
Puede verificar todos los predicados aquí: https://github.com/activerecord-hackery/ransack/blob/master/lib/ransack/constants.rb –