我再一次將我的頭撞在ActiveRecord :: Relation上。這是我想要做的:ActiveRecord與散列輸出的關係
current_user.jobs.includes(:employee).map {|c| { name: "#{c.employee.name}, hire_date: c.employee.hire_date.strftime("%Y-%m-%d") } }
所以,我有一個current_user有很多工作。我想要返回包含員工的所有人。基於這個ActiveRecord關係,我想根據這個關係獲取工人的姓名和僱傭日期。但是,當我這樣做時,我得到了可怕的錯誤:
NoMethodError - 未定義的方法名稱爲nil:NilClass。
我也嘗試將ActiveRecord關係轉換爲數組,哈希和json。所有這些在嘗試獲取名稱時都返回了相同的錯誤。
所有我試圖做的是採取的收集:
current_user.jobs.includes(:員工),並遍歷該關係,創建基於返回的數據散列的數組。
任何想法或推動正確的方向嗎?
感謝
史蒂夫,你是正確的,我在編輯/處理代碼之間,並在我的問題中輸入錯誤的代碼。我編輯了我的問題。我其實有類似於你放在那裏的東西,它不起作用。它會引發「NoMethodError - 未定義的方法名稱」爲nil:NilClass「錯誤,正如我所提到的。看到我更新的問題,我有什麼。 –
我只是想通了。當我迭代集合時,我有一個零對象。所以你有什麼工作,直到我碰到我正在返回的零對象。 –