我有一個Rails應用程序的表單,允許更新singular_collection_ids屬性(關係類型爲has_many到)。我還需要在更新之前驗證它。rails singular_collection_ids驗證
驗證問題需要以前的對象值,但沒有方法singular_collection_ids_was提供此值。此外singular_collection_ids方法直接與連接表沒有臨時值,所以
self.class.find(id).singular_collection_ids
內驗證沒有幫助。
有沒有什麼辦法在驗證階段獲得以前的價值?
你想用這個做什麼?也許還有另外一種方式比使用'singular_collection_ids'。 –
以我爲例 - 我有兩個模型:**玩家**和**成就**他們通過模型** JoinModel **互相鏈接。所以在這兩種球員和成就的編輯形式中,我都有鏈接模型的複選框 - 所以我可以將球員排成一團或一組成績給玩家。所以它看起來像:'Player.find(blabla).achievement_ids = [2,3,4]'。通過應用邏輯,我應該檢查此字段的以前的數據(achievement_ids或player_ids) – exdee
我現在解決我的問題的唯一方法是覆蓋** singular_collection_ids = **方法並添加實例變量以存儲以前的值。 – exdee