内部に配列を含むハッシュを作成しようとしています:
# create new hash to store customers and their projects
@customers = Hash.new
# get all customers from Mite
Mite::Customer.all.each do |customer|
@customers[customer.id] = {:name => customer.name, :projects => []}
end
# get all projects from Mite and store them in the :projects array
Mite::Project.all.each do |project|
@customers[project.customer_id][:projects] << project # line 17
end
Mite::Project.all
およびMite::Customer.all
外部 API (mite.yo.lk) のメソッドです。それらは機能し、データが返されるので、それは失敗ではありません。
残念ながら、API には顧客 ID でプロジェクトをフィルター処理する方法がないため、この方法を使用する必要があります。
それがエラーメッセージです:
undefined method `[]' for nil:NilClass
と
app/controllers/dashboard_controller.rb:17:in `block in index'
app/controllers/dashboard_controller.rb:16:in `each'
app/controllers/dashboard_controller.rb:16:in `index'
ここで何が悪いのかわかりませんか?