2016-04-07 12 views
0

Ich habe Mühe, ein Suchformular für meine aktive Rekordgeschichte zu bekommen. Ich benutze den paper_trail-Edelstein und rappe. Beide, alleine, funktionieren gut. Aber wenn ich versuche, ein Suchformular zu implementieren bekomme ich einen seltsamen Fehler:Suchformular für Paper_trail Geschichte mit Ransack Edelstein

undefined method `paper_trail_versions_path' for #<#:0x007fede31da910>

Diese Linie von meinen Ansichten hervorgehoben wird:

<%= search_form_for @q, html: {class: "input-group"} do |f| %>

Hier ist der Code der Steuerung:

def history 
@all_versions = PaperTrail::Version.order('created_at DESC') 
@versions = @all_versions.paginate(:page => params[:page], :per_page => 100) 
@q = @versions.search(params[:q]) 
@versions = @q.result 
respond_to do |format| 
    format.html 
    end 
end 

die Ansichten:

<%= search_form_for @q, html: {class: "input-group"} do |f| %> 
    <%= f.search_field :whodunnit_or_item_id_cont, placeholder: "Search for Users or Actions..", class: "form-control" %> 
    <span class="input-group-btn"> 
    <%= button_tag(type: 'submit', class: "btn btn-default") do %> 
    <i class="fa fa-search"></i> 
    <% end %> 
    </span> 
<% end %> 

Irgendwelche Ideen?

Vielen Dank im Voraus!

EDIT aufgelöst, dank zu beantworten:

<%= search_form_for @q, html: {class: "input-group"}, :url => "/dashboards/history/" do |f| %>

Antwort

1

Der Fehler Sie sehen von der URL versuchen die search_form_for Helfer kommt für die Form der Aktion zu erraten.

Under the hood verwendet Ransack die polymorphic_path Helfer Schienen, die ist, according to the doc, ein Verfahren

for smart resolution to a named route call when given an Active Record model instance

In Ihrem Fall Ihr Modell ein PaperTrail::Version ist, die paper_trail_versions_path löst.

den Fehler zu beheben, können Sie entweder:

  • die entsprechende Ressource in Ihrer routes.rb Datei definieren, so dass die Helfer
  • manuell definieren die Helfer
  • zum Suchformular ein liefern definiert url Option, mit dem Pfad zur Aktion Ihres Formulars.

Hoffe es hilft!

+0

vielen Dank! – CottonEyeJoe