未定义的方法'每个'对于搜索功能中的nil类

时间:2016-08-29 16:14:37

标签: ruby-on-rails ruby function

我有以下错误:

  

第14行引出:

     

未定义的方法`每个'为零:NilClass   模板包含跟踪:app / views / cursos / search.html.erb

你知道它能成为什么吗?

我的观点是:

 <% @cursose.each do |curso| %>
      <tr>
        <td><%= curso.nombre %></td>
        <td>
          <ul  class="list-unstyled">
            <%= link_to 'Show', curso %>
          </ul>
        </td>
      </tr>
  <% end %>

我的控制器是:

  def search
    @cursose = Curso.search(params[:search])
  end

我的模特是:

      def self.search(search)
    where("nombre LIKE ?", "%#{search}%")
  end

我称之为函数:

<div class="navbar-wagon-right hidden-xs hidden-sm">

  <%= form_tag(searchCursos_path, :method => "get", id: "search" , class: 'navbar-wagon-search' ) do %>
      <%= text_field_tag :search, params[:search], placeholder: "Buscar Cursos", class: 'navbar-wagon-search-input'%>

      <button type="submit" class="navbar-wagon-search-btn">
        <i class="fa fa-search"></i>
      </button>
  <% end %>
</div>

我在搜索功能中只声明了一次@cursose。我看到这是一个错误,但我没事。

谢谢!

1 个答案:

答案 0 :(得分:2)

之所以说这是因为您的@cursose变量是nil。检查变量是否返回一些东西。如果它返回nil,则查找您正在初始化它的部分。