我有一個has_many的遊戲模型:texts。問題是,我必須根據它們屬於哪個遊戲對文本進行不同的排序(是的,很醜,但它是傳統數據)。我創建了一個Text.in_game_order_query(game)
方法,它返回適當的順序。參考has_many中的實例(Rails)
我最喜歡的解決方案應該是在Text模型中放置一個默認範圍,但這需要知道他們是哪個遊戲的一部分。我也不想爲每個遊戲的文本創建單獨的類 - 有很多遊戲,更多的遊戲,所有新的遊戲都將使用相同的順序。所以,我有另外的想法:在訂貨的has_many文本,當我知道他們的一部分,該遊戲:
has_many :texts, :order => Text.in_game_order_query(self)
然而,自我是這裏的班級,這樣是行不通的。
除了每次打電話@game.texts.in_game_order(@game)
以外真的沒有其他解決方案嗎?
雙曲花括號給了我一個語法錯誤,並且只有一組{}圍繞它表示「無法訪問proc」。 – Sprachprofi 2012-08-14 10:27:22
抱歉錯字。只有一套大括號。但我不確定,如果這適用於:訂單。我用它:條件。如果proc不起作用,請嘗試使用lambda或Proc.new – 2012-08-14 11:37:11