【未経験プログラミング】twitterお気に入り実装【42日-2】
①中間テーブルを作る。
$ rails g model Like user:references micropost:references
user_idとtweet_idで重複し保存しないように
t.index [:user_id, :micropost_id], unique: true
.自動生成された
app/models/relationship.rbを変更
class Favorite < ApplicationRecord
belongs_to :user
belongs_to :tweet,class_name: 'User'
validates :user_id, presence: true
validates :micropost_id, presence: true
end
migrate
t.references :user, foreign_key: true
- 実際のデータベース上では、
user_id
カラムとして存在しています
- 実際のデータベース上では、
t.references :micropost, foreign_key: true
- 実際のデータベース上では、
micropost_id
カラムとして存在していま
- 実際のデータベース上では、
class CreateLikes < ActiveRecord::Migration[5.0]
def change
create_table :likes do |t|
t.references :user, foreign_key: true
t.references :micropost, foreign_key: true
t.timestamps
end