Hallo Ich habe eine Suchleiste für meine Firmen .. aber es scheint zu kotzen und Fehler und ich kann nicht herausfinden, warum!Rails Suche [params] Fehler
My View
application.html.erb
<%= form_tag firms_path, :method => 'get', :class => 'form-search' do %>
<%= text_field_tag :search, params[:search], :class => 'input-medium search-query', :placeholder => 'Firm name' %>
<%= submit_tag "Search", :name => nil ,:class => 'btn' %>
<% end %>
Mein firms_controller.rb
def index
@firms = Firm.search(params[:search])
end
def self.search(search)
if search
where(['name LIKE ?', "%#{search}%"]).page(params[:id])
else
scoped
end
end
Diese verwendet funktionieren, aber jetzt ist es um diesen Fehler zu werfen auf.
NameError in FirmsController#index
undefined local variable or method `params' for #<Class:0x007f93cd8b2ac8>
app/models/firm.rb:13:in `search'
app/controllers/firms_controller.rb:8:in `index'
Irgendwelche Ideen? Vielen Dank im Voraus für jede Hilfe
Ross
'params' ist eine Controller-Methode, so kann nicht von einem Verfahren innerhalb eines Ihrer Modelle verwendet werden. – mikej
In welcher Tabelle finden Sie Namen wie .... – Kashiftufail
Ich rufe die self.search-Methode auf der Firm-Tabelle, mit Firm.search, und ich dachte, dass die [params]: Suche in der Ansicht, gebunden an die Argument des Controllers .Suchmethode? – RMcNairn