Ruby on rails 当您没有';我没料到!您可能希望有一个数组实例

Ruby on rails 当您没有';我没料到!您可能希望有一个数组实例,ruby-on-rails,mongodb,Ruby On Rails,Mongodb,我写的如下 def search cuisine=Settings.allcuisines begin @orgs = getSearch(params[:lat], params[:lon],params[:zip], params[:dist], cuisine,params[:num_results]) respond_to do |format| format.html {render action: "index"} format.json {

我写的如下

def search

   cuisine=Settings.allcuisines

 begin 
 @orgs = getSearch(params[:lat], params[:lon],params[:zip], params[:dist],   cuisine,params[:num_results])
  respond_to do |format|
    format.html {render action: "index"}
    format.json { render json: @orgs }
  end
    messg="success"
    code="0"
    results={:message=>messg,:code=>code}
    resul=Results.new(results)
     resul.save
  rescue Exception => exc
   messg=exc.message
   code="1"
   results={:message=>messg,:code=>code}
   resul=Results.new(results)
     resul.save
   respond_to do |format|
    format.html {render action: "index"}
    format.json { render json: @orgs }
   end

end
我得到一个错误:

你有一个零的对象,当你没有想到它!你可能有 应为数组的实例。评估时出错 每人零


为什么会发生这种情况?

您可能正在调用@orgs.each,在您的视图中,@orgs为零。您可以尝试将迭代器嵌套在:

- unless @orgs.nil?
  - @orgs.each do |o|
    blah

实际错误不在该代码中。它要么在它调用的方法中,要么在您的view.def getSearch(lat、lon、zip、dist、courine、num_results、unit=:mi)num_results | |=10 unit | |=:mi如果zip.strip.empty?Org.where('content.attribs.name'=>'courine','content.attribs.value'=>courine.geo_near([lon,lat],:max_distance=>dist,:sphereal=>true,num:num_results)end if(lat.strip.empty?| | lon.strip.empty?)Zipcode.where('Zipcode'=>zip)方法如上所述,视图为您可以单击“编辑”在您的问题下方添加额外信息
:)
。是的,我在视图中这样使用,