前提
Railsでシンプルカレンダーを用いた予定管理アプリを作成しています。
実現したいこと
登録した予定の中から、今日の予定だけを表示させたい。
発生している問題
今日の予定だけを表示させたいのですが、ユーザーの予定の全てが表示されてしまいます。
↓問題の画面
https://gyazo.com/f87f91e1ea523e8b2d369a91a637989c
↓ユーザーの予定一覧
https://gyazo.com/eb5f7c25eb9ce09d2557e8653a7c672b
↓データベース
https://gyazo.com/eab1c8a84523e6f6de3bd51051ebc158
該当のソースコード
app/controllers/blogs_controller.rb
1 2class BlogsController < ApplicationController 3 before_action :authenticate_user! 4 5 def index 6 @blogs = Blog.all 7 @blog = Blog.new 8 end 9 10 def new 11 @blog = Blog.new 12 end 13 14 def show 15 @blog = Blog.find(params[:id]) 16 end 17 18 def create 19 Blog.create(blog_parameter) 20 redirect_to blogs_path 21 end 22 23 def destroy 24 @blog = Blog.find(params[:id]) 25 @blog.destroy 26 redirect_to blogs_path, notice:"削除しました" 27 end 28 29 def edit 30 @blog = Blog.find(params[:id]) 31 end 32 33 def update 34 @blog = Blog.find(params[:id]) 35 if @blog.update(blog_parameter) 36 redirect_to blogs_path, notice: "編集しました" 37 else 38 render 'edit' 39 end 40 end 41 42 43 def today 44 @blogs = Blog.all 45 end 46 47 private 48 49 def blog_parameter 50 params.require(:blog).permit(:title, :content, :start_time).merge(user_id: current_user.id) 51 end 52end
app/views/blogs/today.html.erb
1 2<%= render "shared/header" %> 3 4<div class="today-task"><%= Date.current.strftime("%m月 %d日") %>の予定</div> 5 6<div class="today-blog"> 7 <% @blogs.each do |blog| %> 8 <% if current_user.id == blog.user_id %> 9 <tr class="today-plan"> 10 <td ><%= link_to blog.title , blog %></td> 11 <td><%= blog.start_time.strftime("%H時%M分") %></td> 12 </tr> 13 <% end %> 14 <% end %> 15</div> 16<%= link_to '戻る', blogs_path, class: "today-back" %> 17 18<%= render "shared/footer" %>
試したこと
if文にDate.today を加えると今日のデータだけを取り出せると思ったのですが、変わらず全ての予定が表示されてしまいました。
<% @blogs.each do |blog| %> <% if current_user.id == blog.user_id && Date.today %> <tr class="today-plan"> <td ><%= link_to blog.title , blog %></td> <td><%= blog.start_time.strftime("%H時%M分") %></td> </tr> <% end %> <% end %>
回答1件
あなたの回答
tips
プレビュー