tutorial rails ruby-on-rails ruby-on-rails-3 meta-search

ruby on rails - rails - MetaSearch "método indefinido` model_name ''para NilClass: Class "para búsqueda de barra global



ransack gem rails (2)

Estoy usando MetaSearch fantástico de Ernie, pero estoy teniendo un problema molesto.

En mi application.html.erb tengo un campo de búsqueda, como este en la parte superior de la página de StackOverflow.

<%= 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 %>

El problema es que no tengo @search inicializado en todas las acciones de todos los controladores, por lo que cuando no estoy en el índice Vagas # obtengo el mensaje "método no definido` model_name ''para NilClass: Class ".

¿Cuál es la mejor solución para eso?

=========================================

Solución

<%= 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 %>


Obtendrá este error si @search está establecido en nil . Asegúrese de que este no sea el caso.


Prueba esta sintaxis:

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

En mi caso, estaba usando la vista para recopilar atributos anidados de las entradas del usuario, pero esta sintaxis también repasa este mensaje de error en otros contextos.