2012-04-23 68 views
0

我無法在Model.all和Model.where(:source_id => 2)之間的ruby控制檯中看到不同之處。我的問題是與«所有»指示我能做到。每個陣列上,並與Model.where我不能這樣做。每個Rails activerecord全部或部分

工作

# controller.rb 
@results = Adress.all 

#view.haml 
- @results.each do |result| 

不工作的

# controller.rb 
@results = Adress.where(:source_id => 2) 

#view.haml 
- @results.each do |result| 

錯誤消息 - >未定義的方法`每個」的零:NilClass

在控制檯 - > Adress.where(:SOURCE_ID => 2)它的工作原理

-------我的壞,該解決方案------

我認爲要怎樣做。每次上不存在的變量.......

的問題

@Adress = Adress.where(:arrondissement_id => params[:arrondissement]) 

的解決方案

@results = Adress.where(:arrondissement_id => params[:arrondissement]) 
+0

什麼'Adress.where:在導軌控制檯(SOURCE_ID => 2)'返回? – 2012-04-23 00:05:25

+0

HASH ==> [# 2012-04-23 00:06:51

+0

它是控制器中的實際代碼嗎?因爲'Model#all'和'Model#where'都返回一個數組,而你的第二個視圖似乎變成了'nil'而不是數組。 – 2012-04-23 00:14:07

回答

0

我的壞,

我認爲要怎樣做。每次上INEX isting。

技術問題

@Adress = Adress.where(:arrondissement_id => params[:arrondissement]) 

的解

@results = Adress.where(:arrondissement_id => params[:arrondissement])