1
A
回答
1
你可以有一個GenericModule
,包括這在任何模型,你希望
module GenericModule
extend ActiveSupport::Concern
included do
after_create :log_creation
end
def log_creation
# perform logging
end
end
和模型
class User < ActiveRecord::Base
include GenericModule
# ...other model code...
end
你可以爲您需要此行爲的所有模型提供此功能。
0
從Ruby on Rails的指南上ActiveRecord Callbacks:
活動記錄能夠創建封裝回調方法的類,所以它變得非常容易重用他們。
下面是一個例子,我們創建一個類與after_destroy回調的PictureFile
型號:
class PictureFileCallbacks
def after_destroy(picture_file)
if File.exists?(picture_file.filepath)
File.delete(picture_file.filepath)
end
end
end
一個類的內部聲明時,如上述,回調方法將接收模型對象作爲參數。現在,我們可以使用回調類模型:
class PictureFile < ActiveRecord::Base
after_destroy PictureFileCallbacks.new
end
相關問題
- 1. 模型回調是通過一個錯誤(after_create)
- 2. 如何在模型中集體回調after_create回調?
- 3. 回報率 - 模型after_create外鍵爲空
- 4. Rails回調 - 爲用戶模型創建on_login回調?
- 5. 如何爲所有調用創建原型Ajax.Updater onComplete掛鉤
- 6. after_create:在DB中創建一個新行
- 7. Rails after_create回調無法訪問模型的屬性
- 8. Rails after_create回調更新不同的模型
- 9. 如何使用django-tastypie爲繼承另一個模型的模型創建ModelResource?
- 10. 如何通過CoreData模型創建一個新的實體(表)?
- 11. 如何爲UITabBarController中的所有VC創建單一共享模型?
- 12. 如何通過Django中的模型類創建一個ContentType模型對象?
- 13. Drupal的:如何創建一個顯示所有內容類型
- 14. Rails - 爲用戶創建通知模型
- 15. 如何在django的模型中爲DecimalField創建一個IntegerField?
- 16. Mongoosejs:如何創建一個沒有Schema的模型?
- 17. 測試使用的after_create回調
- 18. 如何通過另一個模型在模型中創建記錄?
- 19. 創建一個模型類
- 20. 創建一個模型
- 21. 創建一個fat16模型
- 22. 創建一個域模型
- 23. 如何使用c#爲所有窗體創建通用函數#
- 24. FactoryGirl如何創建一個由關聯創建回調
- 25. 如何在所有液體模板中創建一個值
- 26. 如何爲CRUD模型創建通用接口?
- 27. Django:如何創建一個包含其他模型的所有字段的新模型(但與其無關)?
- 28. 通過引用返回或創建一個典型的setter/getter?
- 29. Cakephp 3回調,所有模型的行爲
- 30. 如何創建具有作爲一個模板,模板等一個模板類
模塊是否在lib中? – PiKaY
@PiKaY https://stackoverflow.com/questions/4013486/ruby-on-rails-where-should-i-store-modules – Kavincat
@Kavincat謝謝。 – PiKaY