我有兴趣在没有主键的情况下创建和更新表中的行。我的表有3列 - person_id,年份和薪水。我知道我应该使用has_and_belongs_to但是我在理解如何实现我的创建和更新方法以及我的form.html文件时遇到了问题。任何人都可以帮我解释一下这个问题,或许还有一个如何做的简单例子吗?
答案 0 :(得分: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
答案 1 :(得分:0)
添加主键,然后忽略它。您可以在(person_id,year)上添加唯一索引来模拟PK约束,但ActiveRecord在很大程度上依赖于为其实例设置ID。