在rails中,可以創建一個函數,每當某個特定屬性發生更改時,rails會執行一個函數。在我的情況下,每次object.address(我有geocoded_by:address和after_validation:geocode)被改變,我想做object.geocode。我在軌道3Rails地理編碼器屬性
0
A
回答
0
最好的解決辦法,我認爲將是加載ActiveModel包括::髒你的模型,那麼您可以在回調
class MyModel < ActiveRecord::Base
def after_save
if address_changed? do
#some stuff..
end
end
end
0
對於我檢查最優雅的解決方案是根據是否要將geocoded_by(地址)屬性更改來使用條件驗證。你可以做這樣的事情在你的地理編碼模型的「after_validation」回調,或將其放置在任何活動記錄的回調適合你的目的:
after_validation :geocode, :if => lambda{ |obj| obj.address_changed?}
3
只是傳遞領域的您檢查dirtyness after_validation如
after_validation :geocode, :if => :address_changed?
+0
如果我想檢查2個屬性中的1個是否發生了變化,該怎麼辦? – bcackerman
+0
只需將符號指向您執行檢查的方法即可 – BSB
相關問題
- 1. Rails地理編碼只允許一個屬性?
- 2. Rails地理編碼器功能
- 3. rails地理編碼器undefined方法`full_street_address'
- 4. 地理編碼器寶石 - Ruby On Rails
- 5. 地理編碼器侷限性
- 6. 地理編碼準確性
- 7. 使用Google地理編碼地址(不是地理編碼器)
- 8. 地理編碼2地址與地理編碼器寶石
- 9. 地理編碼器地理編碼 - 谷歌地圖的JavaScript API
- 10. 地理編碼器錯誤
- 11. Android地理編碼器API
- 12. 地理編碼器 - 在控制器中對地理編碼進行地理編碼
- 13. 地圖Google地圖地理編碼器
- 14. 錯誤的地理編碼,Rails和Mongoid
- 15. 使用地理編碼位置的Rails範圍彈性搜索
- 16. 谷歌地圖 - 設置它與Rails 5一起工作 - 地理編碼器不進行地理編碼
- 17. DOMDocument saveHTML錯誤地編碼href屬性
- 18. 使用ggmap進行地理編碼igraph頂點屬性
- 19. 紅寶石地理編碼器多個反向地理編碼器
- 20. 設計after_sign_in使用地理編碼器和設計更新屬性
- 21. Rails的地理編碼器的寶石顯示結果
- 22. 使用個人API密鑰設置Rails地理編碼器
- 23. Rails地理編碼器,查找Model2附近的所有Model1
- 24. Rails地理編碼器動態設置語言和單位
- 25. Rails的地理編碼器 - 仍在學習
- 26. 通過地理編碼器獲取當前位置。 Rails
- 27. 谷歌地圖地理編碼器:返回郵政編碼
- 28. 地理編碼器在Rails控制檯數據庫中的記錄強制地理編碼
- 29. HTML屬性編碼
- 30. CNContact屬性編碼
如果我想檢查2個屬性中的1個是否發生了變化,該怎麼辦? – bcackerman