许多人更新和创建Rails

时间:2012-10-03 08:20:53

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

我有兴趣在没有主键的情况下创建和更新表中的行。我的表有3列 - person_id,年份和薪水。我知道我应该使用has_and_belongs_to但是我在理解如何实现我的创建和更新方法以及我的form.html文件时遇到了问题。任何人都可以帮我解释一下这个问题,或许还有一个如何做的简单例子吗?

2 个答案:

答案 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。