回答編集履歴

1 記述途中での回答となってしまった。

Ryuto

Ryuto score 206

2017/09/08 07:54  投稿

結合というのは1対1のリレーションを実現したいということでしょうか?
1対1の関係とは?
catetblsテーブルのid
簡単にまとめると、catetblsテーブルのidとaaatblのidが同一のidとなる関係のことです。
1対1の関係を作る方法を記述します。
migrationファイル
```
class CreateAAAtbl < ActiveRecord::Migration
 def change
   create_table :aaatbls, id: false do |t|
     t.integer :id, nill: false #ここにcatetblsのidが入るようにする。
     t.string :name
   end
 end
end
```
model
```
class AAAtbl
 self.table_name = 'aaatbls'
 self.primary_key = :id
 belongs_to :catebl, foreign_key: 'id'
 before_create { self.id = self.worker.id }
end
class Catetbl
 has_one aaatbl, foreign_key: 'id'
end
```
これで1対1の関係が作れます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る