現状のテーブル構成に自信がありません。
テーブル設計初学者です。何卒、ご助言のほどよろしくお願い致します。
###現在のテーブル構成とアソシエーション
usersテーブル
※便宜上、他のカラムは省いております。
id | username | section_id |
---|---|---|
1 | suzuki | 1 |
2 | sasaki | 2 |
3 | sato | 5 |
sectionsテーブル
section_id | name |
---|---|
1 | セクション1 |
2 | セクション2 |
3 | セクション3 |
4 | セクション4 |
5 | セクション5 |
```ruby | |
#user.rb(モデル) | |
has_one :section, primary_key: "section_id", foreign_key: 'section_id' | |
``` | |
```ruby | |
#section.rb(モデル) | |
class Section < ApplicationRecord |
belongs_to :user
end
###変更予定のテーブル構成 usersテーブル |id|username |:--|:--:| |1|suzuki| |2|sasaki| |3|sato| user_sectionsテーブル |user_id|section_id |:--|:--:| |1|1| |2|2| |3|5| sectionsテーブル |section_id|name| |:--|:--:| |1|セクション1| |2|セクション2| |3|セクション3| |4|セクション4| |5|セクション5| ```ruby #user.rb(モデル) has_one :user_section
ruby
1#user_sections.rb(モデル) 2belongs_to :user 3belongs_to :section
ruby
1#section.rb(モデル) 2has_one :user_section
関連付けするテーブルを1つ増やし、userテーブルをスッキリさせようかと。
変更後のアソシエーションは正しいかわかりませんが、、
後者の方がテーブル設計上は望ましいでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/18 11:22
2017/06/20 04:18
2017/06/20 15:41
2017/06/21 03:52