下面的代碼我試圖只執行@ dataload_manuals.each,如果有@dataload_manuals結果。HAML嵌套IF條件在Rails視圖中無法正常工作
當它運行在沒有@dataload_manuals的帳戶中時,沒有錯誤。但是,對於使用@dataload_manuals的帳戶,我會收到下面的錯誤消息。
此外,如果我刪除了if @dataload_manuals行,則帶有@dataload_manuals的帳戶將正確顯示。
完成此操作的正確方法是什麼?提前感謝您的任何建議。
從我的觀點HAML:
%table
%tr
%th Connector
%th User
%th Last run
- if @dataload_manuals
- @dataload_manuals.each do |d|
%tr
%td Manual
%td= d.user ? d.user.email : ''
%td= d.updated_at
錯誤消息我得到:
ActionView::Template::Error (undefined method `each' for #<DataloadManual:0x00000003a31468>):
我該如何對每一個做出迴應? – analyticsPierce
好的,所以在控制器@dataload_logs被定義爲:DataloadLog.order('created_at DESC')。page(params [:page])。find_by_account_id(current_user.account_id)當我在控制檯中運行時會引發錯誤。有沒有更好的方法來返回DataloadLog的記錄範圍爲current_user.account_id? – analyticsPierce
假設你的關係設置正確,'current_user.account.dataload_logs.order('created_at DESC')。page(params [:page])'(不知道「logs」是否是拼寫錯誤,應該是「手冊」在你的問題中) –