Prima di tutto, sono nuovo di RoR, quindi la risposta potrebbe essere ovvia, nel qual caso mi scuso. Mi sono guardato intorno e non ho trovato nulla che aiuti.ransack search form nell'intestazione partial: No Ransack :: L'oggetto Search è stato fornito per search_form_for
Sto provando ad avere un modulo di ricerca nell'intestazione di ogni pagina web della mia app che cercherà tra i nomi di tutti i miei "bucket". Ecco il codice rilevante:
in app/views/layout/_header.html.erb (all'interno di una barra di navigazione):
<% search_form_for @q do |f| %>
<%= f.label :name_cont %>
<%= f.text_field :name_cont %>
<%= f.submit %>
<% end %>
in app/controllers/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
Comprendo che l'ultima parte non è eccezionale: quello che sto cercando di fare è che se accedo solo alla pagina di indice del bucket (non effettuando una ricerca), visualizzo i 5 bucket creati più di recente. Quando cerco qualcosa nel modulo di intestazione, accedo alla pagina dell'indice ma mostro solo i bucket che hanno colpito la ricerca. (sarebbe un modo migliore per gestirlo per avere una pagina di ricerca separata dalla mia pagina indice?)
Ho trovato this issue che è praticamente identico, ma continuo a non vedere come gestisco lo @q
se ogni pagina sta per avere la forma su di esso - sicuramente non devo alterare ogni azione di ogni controller?
Scusate in anticipo per qualsiasi frustrazione il mio nonno mio causa voi!
I sono passati attraverso i record raccomandati ma senza fortuna. Puoi essere gentile a condividere la tua risposta – Benjamin
@Vezu controlla la nuova risposta. – Eric