0
我有以下代碼迭代一個返回的DataMapper類的單一或多個
if admin_authorized?
@allschools = School.all
elsif faculty_authorized?
@allschools = School.get(Faculty.get(session[:faculty_id]))
end
我收到此錯誤
undefined method `each' for #<School:0x007f88a1360318>
@allschools要麼是學校或單數組學校。我需要遍歷這個列表視圖,就像這樣:
<% @allschools.each do |s| %>
<%= f_optionselected(s.id.to_s, params[:school], s.name) %>
<% end %>
我試過,如果用@ allschools.count,@ allschools.typeof(陣列)報表做的,....
我應該使用兩個不同的變量和一個PHP類型isset()來確定要顯示哪個塊?或者有沒有一種方法可以用Ruby方式遍歷語句?
您的假設是正確的。 School.all以數組/散列形式返回並具有.each方法,而School.get僅返回一條記錄。我仍然得到這個錯誤:undefined method'each'for# –
你的錯誤表明你爲'School'實例調用'each'。你確定,你試圖把單個實例放入數組中?如果你這樣做了,你應該能夠遍歷它並保持你的視圖保持原樣。 – guitarman
我把你的示例代碼,並得到該錯誤代碼。我知道幾乎知道紅寶石。 –