購買者購入履歴のためのモデルを作る
ターミナル
$ rails g model UserProduct
モデルとマイグレーションファイルができたと思うので、マイグレーションファイルを編集する
db/migrate/20190831095111_create_tags.rb
class CreateUserProducts < ActiveRecord::Migration[5.2]
def change
create_table :user_products do |t|
t.integer :user_id #購入者
t.integer :product_id #商品
t.integer :lot #買った個数
t.timestamps
end
end
end
編集し終えたら、データベースを更新するためにマイグレーションをかける
ターミナル
$ rails g db:migrate
購買者購入履歴の関係をmodelで定義する。
・あるユーザーは多くの購買者購入履歴(買った商品)を持っている
・ある商品は多くの購買者購入履歴(買ったユーザー)を持っているので
多対多の関係
app/model/user.rb
class User < ApplicationRecord
devise :database_authenticatable, :registerable, :recoverable,
:rememberable, :trackable, :validatable, :confirmable
has_many :products
has_many :user_products
end
app/model/product.rb
class Product < ApplicationRecord
belongs_to :user
has_many :user_products
end
app/model/user_product.rb
class UserProduct < ApplicationRecord
belongs_to :user
belongs_to :product
end