Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
836 views
in Technique[技术] by (71.8m points)

ruby on rails - MetaSearch "undefined method `model_name' for NilClass:Class" for global bar search

I'm using fantastic MetaSearch by Ernie, but I'm having an annoying issue.

In my application.html.erb I have an search field, just like this one on top of 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 initialized in all actions of all controllers, so when I'm not at Vagas#index I get the "undefined method `model_name' for NilClass:Class" message.

What's the best solution for that?

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

Solution

<%= 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 %>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You would get this error if @search is set to nil. Ensure that this is not the case.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...