MetaSearch "неопределенный метод` имя_модели 'для NilClass: Class "для поиска по глобальной панели - PullRequest
4 голосов
/ 01 марта 2011

Я использую фантастический MetaSearch от Эрни, но у меня раздражающая проблема.

В моем application.html.erb у меня есть поле поиска, как и в верхней части страницы 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 %>

Проблема в том, что я не инициализировал @search во всех действиях всех контроллеров, поэтому, когда я не нахожусь в Vagas # index, я получаю сообщение "undefined method` model_name 'для NilClass: Class ". *

Какое для этого лучшее решение?

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

Решение

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

Ответы [ 2 ]

3 голосов
/ 01 марта 2011

Вы получите эту ошибку, если для @search установлено значение nil.Убедитесь, что это не так.

1 голос
/ 30 августа 2012

Попробуйте этот синтаксис:

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

В моем случае я использовал представление для сбора вложенных атрибутов из пользовательских данных, но этот синтаксис также обходит это сообщение об ошибке в других контекстах.

...