我有一個嵌套屬性的窗體。現在在我的:reject_if =>
聲明中,我想檢查嵌套模型上的屬性,例如first_record?
有沒有辦法訪問這種方法?在我看來,你只能訪問提交的屬性散列,例如檢查一個字段是否爲空。謝謝!rails accepted_nested_attributes和:reject_if
5
A
回答
5
根據文檔http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html
另外,:reject_if還接受了使用方法的象徵:
class Member < ActiveRecord::Base
has_many :posts
accepts_nested_attributes_for :posts, :reject_if => :new_record?
end
class Member < ActiveRecord::Base
has_many :posts
accepts_nested_attributes_for :posts, :reject_if => :reject_posts
def reject_posts(attributed)
attributed['title'].blank?
end
end
這應該爲你工作。基本上這意味着在自定義功能中,你可以做任何你想做的事情。
相關問題
- 1. Rails 3 - reject_if如何使用構建?
- 2. accepted_nested_attributes和驗證的邊緣情況
- 3. 回形針的問題accept_nested_attributes_for和reject_if
- 4. 測試:reject_if在ANAF
- 5. Rails 3 - reject_if has_many:通過關聯不可能?
- 6. Rails:只對CREATE動作使用REJECT_IF嵌套屬性
- 7. 的Rails 3 - reject_if PROC不要再追空字段
- 8. 使用創建!當accepted_nested_attributes啓用
- 9. 使用:reject_if檢查空字段
- 10. reject_if選項被忽略
- 11. Reject_if無法正常工作
- 12. 使用dm-accepted_nested_attributes和dm-is-tree的兩個模型在rails中的嵌套窗體
- 13. :reject_if嵌套屬性上的空白
- 14. 自定義屬性的accepts_nested_attributes_for版本reject_if
- 15. reject_if空?不工作 - 當字段爲空
- 16. 兩個不同的類使用一個類的accepted_nested_attributes
- 17. Rails的accep_nested_attributes_for。使用reject_if通過使用父對象的屬性來拒絕對象
- 18. 如果您可以使用驗證,爲什麼會使用reject_if?
- 19. 如何處理:reject_if如果是新記錄而不是更新
- 20. accept_nested_attributes_for + reject_if +未保存的子對象顯示錯誤
- 21. accep_nested_attributes_for&:reject_if。如何防止拒絕,直到父母協會保存?
- 22. 嵌套屬性reject_if模型有四個以上孩子
- 23. 爲什麼:reject_if不能以嵌套形式工作?
- 24. 嵌套屬性使用reject_if後不工作呈現
- 25. 嵌套屬性:如果您使用reject_if,爲什麼要驗證嵌套模型?
- 26. 的Rails在nested_attributes
- 27. Ruby和Rails或Ruby on Rails
- 28. Ruby on Rails和Rails引擎
- 29. Backbone.js和Rails 3.2
- 30. Rails 2和mysql
您應該意識到,reject_if只會拒絕對嵌套屬性的更改,因此在使用不良嵌套屬性值保存模型時不會導致錯誤。如果你想得到錯誤的嵌套屬性錯誤,只需將驗證添加到嵌套模型中,然後在保存父模型時會引發錯誤。 –