はじめまして。山下と申します。

現在RubyでCookieを利用したショッピングシステムを
開発しているのですが、どう考えてもわからないので
質問させてください。

商品番号と購入数をCookieにためていって
最後にそれを精算するという方式なんですが
ユーザが入力した数と番号を受け取るところが

require "cgi"
cgi=CGI.new

num=cgi['num'][0]
no=cgi['no'][0]

これまでの購入数と番号のCookieを受け取り
今受け取った購入数と番号をそれに加えるのが

c_num=cgi.cookies['c_num']
c_no=cgi.cookies['c_no']

c_num << num
c_no << no

でこれをクライアントに飛ばすということをやっています。
ですが、おかしいことに気づきCookieを一旦削除したあと
c_numとc_noの配列に何の変数が入っているか調べてみたら
両方ともに購入数が入っており商品番号が消えておりました。
自分なりに試行錯誤を繰り返してたら、どうも

c_num=cgi.cookies['c_num']
c_no=cgi.cookies['c_no']

の部分でおかしくなってるようです。ですがどう考えても
原因の見当がつかず、困っております。

誰かご教授いただけないでしょうか?