Date型で日付の引き算行い、何日の差分があるか求めたのですが、その計算結果に「/1」という文字がなぜか含まれており、原因がわかりません。
比較する日付は、今日の日付とデータベースを作ると自動で生成されるcreated_atを比較します。
処理の流れは以下の通りです。
0. Date型で今日の日付を取得
0. created_atはTime型なので、一旦文字列にしてからDate型に変換
0. 引き算し、結果を変数に代入
コントローラー
ruby
1 createdDateTime = @hitData.created_at # @hitDataという変数にDBのレコードが1件格納されている 2 @createdDate = createdDateTime.strftime('%Y/%m/%d') # 一旦、Time型から文字列に変換 3 4 # 日付の差分を計算 5 today = Date.today # 今日の日付を取得 6 createdDate = Date.parse(@createdDate) # 文字列をDate型に変換 7 @daysDifference = today - createdDate # 引き算して差分を求める 8 9 # Ajaxで動かしているので、以下の処理でviewに値を渡します 10 respond_to do |index| 11 index.html 12 index.js 13 end
/view/モデル名/index.js.erbでは単純にjQueryを使って以下の通りに表示させています。
$('#id名').html('<%= @daysDifference %>');
処理結果
27/1
27日前というのはあっているのですが、「/1」が表示されてしまうのが謎です。
解決策を教えていただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/05 17:06