前提
railsで予定管理アプリを作成中です。
実現したいこと
今日の予定のみを取得し表示したいです。
発生している問題
今日の予定だけを表示しようとすると、今日以降の予定も表示されてしまいます。
該当のソースコード
app/controllers/blogs_controller.rb
1class BlogsController < ApplicationController 2 before_action :authenticate_user! 3 4 def index 5 @blogs = Blog.all 6 @blog = Blog.new 7 end 8 9 def new 10 @blog = Blog.new 11 end 12 13 def show 14 @blog = Blog.find(params[:id]) 15 end 16 17 def create 18 Blog.create(blog_parameter) 19 redirect_to blogs_path 20 end 21 22 def destroy 23 @blog = Blog.find(params[:id]) 24 @blog.destroy 25 redirect_to blogs_path, notice:"削除しました" 26 end 27 28 def edit 29 @blog = Blog.find(params[:id]) 30 end 31 32 def update 33 @blog = Blog.find(params[:id]) 34 if @blog.update(blog_parameter) 35 redirect_to blogs_path, notice: "編集しました" 36 else 37 render 'edit' 38 end 39 end 40 41 42 def today 43 @blogs = Blog.where("start_time >= ?", Date.today) 44 end 45 46 private 47 48 def blog_parameter 49 params.require(:blog).permit(:title, :content, :start_time).merge(user_id: current_user.id) 50 end 51end 52
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" %>
試したこと
コントローラーで今日の情報だけを取得しようと思いました。
おそらくここの記述が間違っているかと考えています。
分かる方いましたら教えていただきたいです。
def today @blogs = Blog.where("start_time >= ?", Date.today) end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/08/25 07:33