MetaSearch "undefined method` model_name 'for NilClass: Class" for global stroke search

I use the fantastic MetaSearch from Ernie, but I have an annoying problem.

In my application.html.erb application, I have a search box, just like it is on top of the StackOverflow page.

<%= form_for @search, :url => vagas_path do |f| %> <%= f.text_field :titulo_or_empresa_user_username_contains %> <%= f.submit "", :class => "search-button", :name => "submit" %> <% end %> 

The problem is that I don’t have @search initialization in all actions of all controllers, so when I’m not on Vagas # index, I get the undefined method `model_name 'for the message NilClass: Class.

What is the best solution for this?

==============================================>

Decision

 <%= form_tag vagas_path, :method => :get, :id => 'vaga_search' do %> <%= text_field_tag 'search[titulo_or_empresa_user_username_contains]' %> <%= submit_tag "", :class => "search-button", :name => "submit", :id => 'search_submit' %> <% end %> 
+4
source share
2 answers

You will get this error if @search set to nil . Make sure this is not the case.

+3
source

Try this syntax:

 <%= form_for(:object) do |obj| %> 

In my case, I used the view to collect nested attributes from user inputs, but this syntax also bypasses this error message in other contexts.

+1
source

Source: https://habr.com/ru/post/1341700/


All Articles