如果我們必須在更新關聯記錄時爲模型生成slug,我們應該怎麼做。例如,我正在使用User和UserProfile模型,而slug則是user.user_profile.name。當新用戶被創建時,關聯的user_profile也被保存。爲新的用戶記錄生成段塞。但是,當更新user_profile並更改名稱時,slug不會更新。請幫忙。friendly_id gem使用關聯的模型字段
1
A
回答
0
您可以覆蓋should_generate_new_friendly_id?
方法。這樣您就可以控制何時產生新的slu slu。
你可以做這樣的事情
class User < ActiveRecord::Base
extend FriendlyId
friendly_id :my_friendly_id_method, :use => :slugged
def should_generate_new_friendly_id?
user_profile.changed?
end
end
1
在最近的版本friendly_id的,你可以定義一個方法(你需要什麼,儘管這可能不是)來指定何時再生毛坯:
def should_generate_new_friendly_id?
name_changed? || super
end
你可以使用一個保存後回調的用戶配置類設置散熱片至零,力friendly_id再生毛坯:
if name_changed?
user.slug = nil
user.save
end
根據文檔應該照顧它:http://norman.github.io/friendly_id/
相關問題
- 1. friendly_id gem for current_user
- 2. 使用關聯的Rails模型創建gem
- 3. 如何使用paper_trail禁用關聯跟蹤某個模型gem
- 4. 使用cakephp中的字段將模型與自身相關聯
- 5. CakePhp:使用重新命名的模型字段實時關聯?
- 6. 使用Sequelize.js和PostgreSQL查詢關聯模型上的JSONB字段
- 7. Friendly_id利用價值belongs_to的關聯
- 8. 使用sequelize關聯不同的模型?
- 9. 使用CGridView模型的關聯
- 10. Friendly_ID網址在模型內
- 11. 訪問模板中與django用戶關聯的模型的字段
- 12. 使用整數ID類型字段的多態關聯
- 13. CakePHP的順序由另一個模型字段關聯
- 14. 基於字段值的CakePHP模型關聯?
- 15. 只選擇關聯模型的某些字段CakePHP中
- 16. 如何在cakePHP中保存關聯模型的多個字段?
- 17. 在Rails中未保存父關聯的嵌套字段模型
- 18. 使用字段從模型
- 19. 如何訪問關聯模型的關聯模型?
- 20. 如何使用paginate和關聯模型?
- 21. 如何使用sails.js模型和關聯?
- 22. 使用關聯實例化模型
- 23. 使用「where」關聯has_one和belongs_to模型
- 24. 發現使用模型關聯
- 25. rail_resources使用資源名稱使用friendly_id gem
- 26. 使用friendly_id gem時,需要使用slug表嗎?
- 27. 如何使用關聯模型的順序獲取模型?
- 28. CakePHP模型關聯
- 29. 帶點的漂亮網址(friendly_id gem)
- 30. Laravel:在同一模型上關聯兩個字段