0

我有兴趣在没有主键的表中创建和更新一行。我的表有 3 列 - person_id、年份和薪水。我知道我应该使用 has_and_belongs_to 但我在理解如何实现我的创建和更新方法以及我的 form.html 文件时遇到了问题。谁能帮我解释一下,也许有一个简单的例子来说明如何做到这一点?

4

2 回答 2

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
于 2012-10-03T09:02:39.683 回答
0

添加主键,然后忽略它。您可以在 (person_id, year) 上添加唯一索引来模拟 PK 约束,但 ActiveRecord 严重依赖于其实例的 id。

于 2012-10-03T09:51:31.690 回答