0

主キーなしでテーブルの行を作成および更新することに興味があります。私のテーブルには、person_id、year、salary の 3 つの列があります。has_and_belongs_to を使用する必要があることは理解していますが、create メソッドと update メソッド、および form.html ファイルを実装する方法を理解するのに問題があります。おそらくそれを行う方法の簡単な例で、誰かが私にこれを説明するのを助けることができますか?

4

2 に答える 2

0

主キーを追加し、無視します。(person_id, year) に一意のインデックスを追加して PK 制約をシミュレートできますが、ActiveRecord はインスタンスの ID に大きく依存しています。

于 2012-10-03T09:51:31.690 に答える
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 に答える