Zunächst einmal, ich bin neu in RoR, so kann die Antwort offensichtlich sein, in diesem Fall entschuldige ich mich. Ich habe mich umgesehen und nichts gefunden, was hilft.Durchsuchen Suchformular in Header teilweise: Nein Ransack :: Suchobjekt wurde für search_form_for
Ich versuche, ein Suchformular in der Kopfzeile jeder Webseite in meiner App zu haben, die die Namen aller meiner "Eimer" durchsuchen wird. Hier ist der relevante Code:
In app/views/Layout/_header.html.erb (innerhalb eines nav bar):
<% search_form_for @q do |f| %>
<%= f.label :name_cont %>
<%= f.text_field :name_cont %>
<%= f.submit %>
<% end %>
In app/Controller/buckets_controller.rb:
def index
unless params[:q].blank?
@q = Bucket.search(params[:q])
@buckets = @q.result.paginate(:page => params[:page])
else
@buckets = Bucket.find(:all, :limit => 5).paginate(:page => params[:page])
end
end
Ich verstehe den letzten Teil ist nicht so toll: was ich versuche zu tun ist, wenn ich nur auf die Bucket-Indexseite zugreifen (nicht durch die Suche), zeige ich die 5 zuletzt erstellten Buckets. Wenn ich in der Kopfzeile nach etwas suche, greife ich auf die Indexseite zu, zeige aber nur die Buckets an, die die Suche treffen. (würde eine bessere Möglichkeit, damit eine Suchseite getrennt von meiner Indexseite zu behandeln?)
Ich fand this issue, die ziemlich identisch ist, aber ich sehe immer noch nicht, wie ich handle @q
, wenn jede Seite geht Habe die Form drauf - sicherlich muss ich nicht jeden Controller jede Aktion ändern?
Sorry im Voraus für jede Frustration meine Noobishness meine Ursache Sie!
I Ich habe die empfohlenen Aufzeichnungen durchgelesen, aber kein Glück. Können Sie freundlich sein, Ihre Antwort zu teilen – Benjamin
@Vezu überprüfen Sie die neue Antwort. – Eric