如果我們必須在更新關聯記錄時爲模型生成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使用來自其他模型的屬性?
- 2. friendly_id gem for current_user
- 3. 使用關聯的Rails模型創建gem
- 4. 如何使用paper_trail禁用關聯跟蹤某個模型gem
- 5. pg_search與關聯模型字段
- 6. 使用cakephp中的字段將模型與自身相關聯
- 7. CakePhp:使用重新命名的模型字段實時關聯?
- 8. 使用Sequelize.js和PostgreSQL查詢關聯模型上的JSONB字段
- 9. Friendly_id利用價值belongs_to的關聯
- 10. 返回依賴於模型中字段值的關聯關係
- 11. Rails friendly_id gem for pretty url
- 12. 關聯模型
- 13. 關聯模型
- 14. 使用關聯的模型範圍
- 15. 使用CGridView模型的關聯
- 16. 使用sequelize關聯不同的模型?
- 17. Friendly_ID網址在模型內
- 18. 訪問模板中與django用戶關聯的模型的字段
- 19. 使用整數ID類型字段的多態關聯
- 20. 使用Rails Gem Active Admin無關聯
- 21. 只選擇關聯模型的某些字段CakePHP中
- 22. 在Rails中未保存父關聯的嵌套字段模型
- 23. 如何在cakePHP中保存關聯模型的多個字段?
- 24. CakePHP的順序由另一個模型字段關聯
- 25. 基於字段值的CakePHP模型關聯?
- 26. 獲取Rails模型的關聯關聯
- 27. 使用字段從模型
- 28. 如何訪問關聯模型的關聯模型?
- 29. Rails模型關聯:兩個模型之間的多個關聯
- 30. 如何使用paginate和關聯模型?