###前提・実現したいこと
サイトで閲覧履歴を実装したいと考えております。
つい先日まで閲覧した投稿のidをcookieに保存して配列で取り出すことができていたのですが、何かをきっかけにすっかり保存できなくなってしまいました。
思い当たるのは、rake db:migrateやrake db:migrate:resetをしたことくらいです。
###発生している問題・エラーメッセージ
cookieに投稿の値を保存することができません。
###該当のソースコード
[microposts/show.html.erbのページソース]
<script> $(function(){ var micropost = "7"; //投稿idを取得 var cookie_name = 'recently_viewed_microposts'; //cookieの保存名を取得 var viewed_microposts = []; //配列を生成 var delete_micropost = false; $.cookie.defaults.path = "/"; // 既にクッキーが存在している場合は、ストリングを配列にする if($.cookie(cookie_name)){ viewed_microposts = $.cookie(cookie_name).split(","); } // 重複していなければ、itemを配列に追加 if($.inArray(micropost, viewed_microposts)<0){ viewed_microposts.push(micropost); } // 5個以上ならば1つ削除 if (viewed_microposts.length >= 6){ viewed_microposts.shift(); } // 配列をクッキ―に保存 $.cookie(cookie_name, viewed_microposts); });
[index.html.erb]
<% histories = [] %> <% histories = cookies[:recently_viewed_microposts].split(",") ★unless★ cookies[:recently_viewed_microposts].nil? %>
★unless以下を削除すると以下のエラーがでます★
undefined method `split' for nil:NilClass
###試したこと
・変数名の値を変えてみましたがだめでした。
・いったん、cookieをすべて削除して再度試しましたがだめでした。
###補足情報(言語/FW/ツール等のバージョンなど)
Rails で jquery.cookie.js を使って閲覧履歴を表示してみた
###追加情報
ブラウザに cookie は保持されているか調べたでしょうか。
デベロッパーツールより。
_workspace_session LzR4R1pvZDJvN2ZUc05KcEJQZG1LaCt2K3llSGlqYmU5azJpaFFURGVDcGRYZkt1NG5YbFFEUWo4bHgzMGNabE9aMzYrS3NRdEp5VXE0dDJ1cVN1OFNmTnVDV3lLclEwWkRKVlNrVWNLL3RFc0wzR0JQTzFlaTBCWk91OVIrYmxQa1dpUVZRaU1SOGZSQzhhRnA4dnVlckhKdnphZVZXWS85NHpOb3ZQLyt6TVhIV2ZmTVhJdml3aExFR2pwdWVkYzFseU96VndSSC9ZYmZZNmJlcTRoai9hc3E4eE1LV2dQdlNqd0FFSW5LVT0tLUt4YkQ3eS9Cdml4WHVZSUx4TjdwSWc9PQ%3D%3D--e9b8d4f644d6af663f98fc5403a5d0e5ea8e16ba third-app-sagae.c9users.io / Session 416 ✓ c9.live.user.jwt eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjE0MTU4NzQiLCJuYW1lIjoic2FnYWUiLCJjb2RlIjoiOWMzYzE2RUVkUWlnSzNNZlFOUkIiLCJpYXQiOjE0ODM2OTk4ODEsImV4cCI6MTQ4Mzc4NjI4MX0.5tuj6tolKN4LZ4__5HGFD3DSF1qA3s6jQioDNXBteGw .c9users.io / 2017-01-07T10:51:22.099Z 224 ✓ ✓ c9.live.user.sso eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6IjE0MTU4NzQiLCJuYW1lIjoic2FnYWUiLCJpYXQiOjE0ODM2OTk4ODEsImV4cCI6MTQ4Mzc4NjI4MX0.GmlT30wb6tv9hgpXNFmAQDEhUwYkN9JVFyHDwofr484 .c9users.io / 2017-01-07T10:51:22.099Z 184 ✓ remember_shop_token W1sxXSwiJDJhJDExJGJZeFlMMzJQcURuSFBua2lRZ2htdmUiLCIxNDgzNzQ5NjU2LjUyNDc5NTMiXQ%3D%3D--9ac866d419e3b5f1aa687e31ca24b120a6830e3e third-app-sagae.c9users.io / 2017-01-21T00:40:57.391Z 145 ✓
【リクエスト内容】
This request did not send any cookie data.
【レスポンス内容】
This response did not set any cookies. This response did not contain a P3P Header.
回答1件
あなたの回答
tips
プレビュー