我有一個相當基本的一組模型,其中'項目'有一個'所有者'。我希望允許用戶在創建新項目時輸入所有者的姓名。如果所有者不存在,則應該創建一個新的。是否存在這樣做的好方法?我一直在考慮使用attr_accessor
和before_validation
,但它似乎會與這種關係發生衝突。有任何想法嗎?謝謝!允許活動記錄模型使用字符串分配關聯
0
A
回答
1
使用與您的關係名稱不同的東西... owner_name
應該沒問題。然後編寫必要的方法before_validation
。
1
我會使用在你的控制器沿此線的東西:
def update
Project.transaction do
@project.owner = Owner.find_or_create_by_name(params[:project].delete(:owner_name))
@project.attributes = params[:project]
@project.save!
end
end
+0
嗨,傑里米。這與我目前的相當接近。試圖弄清楚是否存在一種「幹」代碼的好方法(具有用於更新和創建的相同代碼以及應用程序周圍的其他幾個位置,並且覺得它應該放入模型中)。 – 2010-11-10 15:43:12
+0
或者你可以在模型中定義這個'def owner_name =(owner_name); owner = Owner.find_or_create_by_name(owner_name);那麼你只需要使用一個帶有'project [owner_name]'的表單字段,並且在任何控制器動作中,'update_attributes(params [:project])'應該有魅力。 – Jeremy 2010-11-11 21:14:44
相關問題
- 1. 使用字符串分配欄關聯
- 2. Rails的活動記錄的關聯,嵌套模型
- 3. Ruby的新手活動記錄查詢/模型關聯
- 4. 在查找子句中使用關聯模型的活動記錄查詢
- 5. 活動記錄關聯 - 一個模型可以同時屬於不同模型
- 6. Android動畫 - 不允許使用字符串類型
- 7. 自動記錄,並允許使用JQuery
- 8. Yii模型與組合表使用關係在活動記錄
- 9. 活動記錄外鍵關聯
- 10. 軌活動記錄關聯SQL行爲
- 11. 無法創建活動記錄關聯
- 12. has_many關聯的活動記錄回調
- 13. Rails瞭解活動記錄關聯
- 14. 活動記錄外鍵關聯軌
- 15. 充分利用活動記錄關係
- 16. 黃瓜:字符串的活動記錄型號名稱
- 17. 搜索列中部分字符串的活動記錄
- 18. 將部分轉換爲活動記錄中的字符串
- 19. 活動記錄 - 自動模型
- 20. 活動記錄關聯 - 錯誤w has_many:通過關聯?
- 21. 風帆允許多個記錄瓦特/相同的主鍵類型字符串
- 22. 如何擴展HashMap以允許字符串,字符串類型
- 23. 如何使用多個關聯構建活動記錄?
- 24. 在Rails中使用Filterrific來搜索活動記錄關聯
- 25. 使用SQL在Rails中查找活動記錄關聯
- 26. 使用rails活動記錄關聯創建javascript變量
- 27. 不允許使用標記,等號和分號的字符
- 28. 爲什麼C++允許將整數分配給字符串?
- 29. 能夠使用JSON呈現活動記錄模型,包含和排除全局字段/關聯
- 30. Rails活動記錄模型關係 - 屬於三個模型的一個模型
嗨法比奧。感謝你的回答。我結束了一個小調整(發現這個:http://railscasts.com/episodes/57-create-model-through-text-field)。我唯一的問題仍然是在'attr_accessor'字段添加驗證,但我相信我會找出一些東西。 – 2010-11-10 15:45:22
不錯,Railscast可以幫助很多有類似問題的人。 – 2010-11-10 16:10:49