簡體   English   中英

Rails 4:驗證嵌套模型

[英]Rails 4: validating a nested model

我有一個嵌套屬性的驗證器:

validates_numericality_of :rate, greater_than: 0, if: -> {self.user.is_tutor?}

其中is_tutor是父表單中的布爾值字段。

盡管進行了許多嘗試,但驗證似乎並沒有按照我的意願進行。 我希望它采用傳遞給更新后的表單的params [:is_tutor]值,但是我的驗證器始終在檢查存儲在數據庫中的值。

如何將:if =>設置為布爾值is_tutor的params哈希值? 我已經嘗試過使用params [:is_tutor],但是沒有用。

我也嘗試過把它放在父母那里:

validates_numericality_of :rate, greater_than: 0, if: :is_tutor?

這就是我想要的:is_tutor的當前值。 但是,它找不到:rate符號,因為它是一個嵌套屬性。

有什么想法嗎? 謝謝!

盡管我沒有測試,但這應該可以工作。

validates_numericality_of :rate, greater_than: 0, if: -> (r) {r.user.is_tutor?}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM