#<TopFood:0x007fdfd5e0f4e0> 没有方法错误未定义的方法“查找”
No method error undefined method `find' for #<TopFood:0x007fdfd5e0f4e0>
我遇到错误
NoMethodError in Data#input
Showing /home/adijanuarsyah/Projects/Food/app/views/data/_idfood.html.erb
where line #8 raised:
undefined method `find' for #<TopFood:0x007fdfd558fa90>
当我使用 find 方法获取查询 food = foods.find(rand_number) 时,我遇到了上面的错误,但是当使用 TopFood.find(rand_number),它的工作完美。
这是我的看法
<h2>Suggestion Indonesian top dishes</h2>
<ul id="foodList">
<% TopFood.where(:country => "ind").find_each do |foods | %>
<% rand_number = rand(52) + 1 %>
<% @food = foods.find(rand_number)%>
<li><%= @food.name %></li>
<% puts @food.inspect %>
<% end %>
</ul>
<div id="loadMore">More sugesstions</div>
<div id="showLess">Show less</div>
关于这里发生的事情有什么线索吗?
谢谢。
find
是一个class方法,不能在foods
.
这样的实例上调用
要修复您的代码,您可以这样做:
<% TopFood.where(:country => 'ind', :id => rand(52) + 1).find_each do |food| %>
<li><%= food.name %></li>
<% puts food.inspect %>
<% end %>
如果您想以随机顺序显示结果,您可以这样做:
如果你的数据库是MySQL:
<% TopFood.where(:country => 'ind').order('RAND()').find_each do |food| %>
如果您的数据库是 PostgreSQL 或 SQLite:
<% TopFood.where(:country => 'ind').order('RANDOM()').find_each do |food| %>
我遇到错误
NoMethodError in Data#input Showing /home/adijanuarsyah/Projects/Food/app/views/data/_idfood.html.erb
where line #8 raised:
undefined method `find' for #<TopFood:0x007fdfd558fa90>
当我使用 find 方法获取查询 food = foods.find(rand_number) 时,我遇到了上面的错误,但是当使用 TopFood.find(rand_number),它的工作完美。
这是我的看法
<h2>Suggestion Indonesian top dishes</h2>
<ul id="foodList">
<% TopFood.where(:country => "ind").find_each do |foods | %>
<% rand_number = rand(52) + 1 %>
<% @food = foods.find(rand_number)%>
<li><%= @food.name %></li>
<% puts @food.inspect %>
<% end %>
</ul>
<div id="loadMore">More sugesstions</div>
<div id="showLess">Show less</div>
关于这里发生的事情有什么线索吗?
谢谢。
find
是一个class方法,不能在foods
.
要修复您的代码,您可以这样做:
<% TopFood.where(:country => 'ind', :id => rand(52) + 1).find_each do |food| %>
<li><%= food.name %></li>
<% puts food.inspect %>
<% end %>
如果您想以随机顺序显示结果,您可以这样做:
如果你的数据库是MySQL:
<% TopFood.where(:country => 'ind').order('RAND()').find_each do |food| %>
如果您的数据库是 PostgreSQL 或 SQLite:
<% TopFood.where(:country => 'ind').order('RANDOM()').find_each do |food| %>