昼飯食う前にメモです。
どうやってカート機能を作ればいいか。
自分で考えたのはユーザー1人に対してカートは1つしか無いわけだから、以下のようなテーブルを作れば行けるのかなと考えていました。
carts table
id | item_id | number | user_id |
---|---|---|---|
1 | 1 | 3 | 4 |
しかしこれだと、ログインしていなければカートに入れることができないというデメリットがあります。
そんな仕様だときっと売上にも影響しますね!
そこで参考にしたサイト。
こちらのロジックでやってみることにしました。
http://qiita.com/DialBird/items/89ce3a0f25c9dfdb38c1
カートと商品の間に中間テーブルを設けることで解決です。
テーブル名はcarts - shoppings - itemsという感じにしてみました。
セッションについて。
上記のやり方だとセッションが必要になります。
標準のCookieStoreだとセキュリティに脆弱性がある為、activerecord-sessionというgemを使うと良いみたいです。
セッションについて参考にしたサイト。
http://shindolog.hatenablog.com/entry/2014/11/02/164118