Ich bin ein bisschen verwirrt mit der Verwendung einer erweiterten ransack Suche. Ich versuche eine benutzerdefinierte Suche durchzuführen, bei der nicht alle Tabellennamen als Suchbegriffe ausgewählt werden können und nicht alle Prädikate verwendet werden. Ich habe railscast als ein Tutorial für diese verwendet, aber ich kann nichts finden, wie die Anzahl der Prädikate zu begrenzen. Gibt es auch die Möglichkeit, die Namen von Preicates und Tabellenfeldern in verschiedenen Sprachen (nur Labels) zu verwenden?Ransack Gem wählen Prädikat und benutzerdefinierte Prädikat Namen
Mein Suchformular
= 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}"
Mein Controller
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
Fantastische Frage und Antwort, ein großes Lob daran, Da Sie scheinen vor kurzem tiefer in Ransack gegraben haben, Könnten Sie bitte einen Blick auf meine Frage: http://StackOverflow.com/Questions/13241481/Inform-Sorting -use-ransack-gem-nicht-arbeiten Ich könnte wirklich Hilfe gebrauchen, ich bin wirklich fest! Danke – jlstr
Hallo, Entschuldigen Sie die Störung, wissen Sie, ob es eine Möglichkeit gibt, bestimmte Methoden im Array UNRANSACKABLE_ATTRIBUTES auszuschließen? Zum Beispiel möchte ich die Methoden ausschließen, die durch Beziehungen erstellt wurden. In meinem Fall gehört ein Produkt zu einem Produkttyp und der Produkttyp zeigt das Dropdown-Menü an. Gibt es eine Möglichkeit, es zu entfernen? Danke im Voraus! – jlstr
Sie können alle Prädikate hier überprüfen: https://github.com/activerecord-hackery/ransack/blob/master/lib/ransack/constants.rb –