私は次のエラーを持っている:あなたはそれが何をすることができ未定義のメソッド「各」
where line #14 raised:
undefined method `each' for nil:NilClass Trace of template inclusion: 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
私のモデルは次のとおりです。
<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>
:
def self.search(search)
where("nombre LIKE ?", "%#{search}%")
end
私はこのような関数を呼び出します
私は@cursose
を検索機能で1回だけ宣言しました。私はそれが間違いであることを見ましたが、私はそれを持っています。
ありがとうございました!
コントローラ内の '@curse'変数を検査して、' search'呼び出しの直後に 'nil'を確認しましたか? '@cursose = Curso.search(params [:search])'の下に 'raise @ cursose.inspect'呼び出しを直接追加し、エラーメッセージに表示されているものを見てください。 –