2014-10-16 52 views
0

使用rails_admin我想檢查current_user是否是最初在創建對象之前可以更新特定字段(不同用戶必須檢查「已批准」字段)的用戶。如果用戶相同,則保存應該中止。如何在rails_admin中將current_user與before_save一起使用

我可以得到原始用戶使用像object.versions.first.whodunnit的東西,但我努力獲得current_user。有問題的對象與user_model沒有關係(僅用於rails_admin - >沒有「常規」用戶)。

在模型中,我無法訪問current_user,我不知道如何訪問由rails_admin使用的控制器。

回答

0

找到了解決方案。 'PaperTrail.whodunnit'可以在模型中使用獲取current_user。所以我增加了一個自定義驗證的使用

self.versions.first.whodunnit.to_i == PaperTrail.whodunnit.id 

檢查對象的原創者是一樣的誰是即將批准該對象的當前版本的人。

如果有人知道更好的解決方案,請讓我知道。

相關問題