我有興趣創建和更新表中沒有主鍵的行。我的表格有3列 - person_id,年份和薪水。我明白我應該使用has_and_belongs_to,但我在理解如何實現我的創建和更新方法以及我的form.html文件時遇到問題。任何人都可以幫助解釋這一點,也許有一個簡單的例子來說明如何做到這一點?Rails多對多更新並創建
0
A
回答
0
has_and_belongs_to_many例如
# category model
class Category < ActiveRecord::Base
has_and_belongs_to_many :users
end
# user model
class User < ACtiveRecord::Base
has_and_belongs_to_many :categories
end
連接表的樣子
class CreateCategoriesUsersJoinTable < ACtiveRecord::Migration
def change
create_table :categories_users, :id => false do |t|
t.integer :category_id
t.integer :user_id
end
end
end
現在你可以訪問你的信息
$ User.categories
$ Category.users
$ user = User.first
$ user.categories
$ category = Category.first
$ category.users
0
添加一個主鍵,將其忽略。您可以在(person_id,year)上添加一個唯一索引來模擬PK約束,但ActiveRecord嚴重依賴其實例的ID。
相關問題
- 1. Rails多個創建/更新表單
- 2. 在Rails中創建多對多關係
- 3. 更新多對多記錄的Rails
- 4. 更新與Rails的多對多關係
- 5. 續集多對多 - 如何創建新記錄並更新連接表
- 6. 創建一個新的多對多表
- 7. Rails多對多多態創建多項式
- 8. Django rest_framework 3.22多個更新創建對象而不是更新
- 9. 實體框架多對多更新而不創建重複項?
- 10. 如何創建和更新與EF的多對多關係
- 11. DRF 3 - 創建多對多更新/創建序列化雖然表
- 12. Rails更新一到一對多 - 創建子對象(如果不存在)
- 13. Symfony窗體創建新對象並創建第一個一對多對象
- 14. 在Rails窗體中合併多個模型以創建一個新對象
- 15. ASP.NET MVC3創建多對多
- 16. Rails嵌套窗體:更新創建多個記錄
- 17. 通過單一表單創建/更新多個多對多記錄
- 18. 更新多對多EF
- 19. Symfony:更新多對多
- 20. JPA多對多更新
- 21. EF Codefirst更新多對多
- 22. 更新多對多關係
- 23. 更新多對多關係
- 24. 更新多對多表SQL
- 25. 更新多對多關係
- 26. 只創建一個對象並更新
- 27. Asp MVC3一對多創建並查看
- 28. 創建多級關聯rails
- 29. 多對多關係 - 實體框架正在創建新對象
- 30. 如何在Rails 4.2中爲多對多關聯創建表格
checkout http://stackoverflow.com/questions/5120703/creating-a-many-to-many-relationship-in-rails-3 –
(person_id,year)看起來像是一個自然的主鍵,但Rails沒有'不支持複合鍵。你可以試試這個寶石:http://compositekeys.rubyforge.org/ – Teoulas