2013-04-29 100 views
0

我有一個Rails應用程序與一個表稱爲工作。我試圖創建2個索引列表。一個是開放式工作單,另一個是閉式工作單。關閉的工作有一個wostatus_id = 231Rails範圍NoMethodError

我想爲此使用一個範圍。這是我的工作單模型:

scope :closed, where(":wostatus_id = ?", 231) 
    scope :notclosed, where("wostatus_id != ?", 231) 

有一種觀點認爲,我有:

<% @workorders.closed.each do |workorder| %> 

不過,我得到以下錯誤:

undefined method 'closed'for #>Array..... 

感謝您的幫助!

+0

向我們展示代碼,其中@工作分配 – MikDiet 2013-04-29 21:40:48

回答

1

我認爲你必須像@workorders = Workorder.all在你的控制器,這將返回數組,而不是關係

相反,你需要像@workorders = Workorder.scoped,它返回的關係,可以用另一個範圍被鏈接。

+0

我會繼續這樣做。 @workorders是一個實例變量;你需要在課堂上自己調用它。 – 2013-04-29 21:44:57

+0

這是否做了類似的事情? (一個範圍在這個工作)。 @worequests = Worequest.order(:created_at) – Reddirt 2013-04-29 21:57:18

+0

感謝您的幫助! – Reddirt 2013-04-29 22:18:38