実現したいこと
イベント投稿サイトを作っています。
それぞれのイベントが開催日のデータを持っているのですが、一覧表示で今日以降に開催するイベントのみを表示する方法がわかりません。
前提
Micropostsモデル(投稿のモデル)
・日付はdayカラムです。
イベントの新規投稿ページ
<div class="post_box"> <h1>新規投稿</h1> <%= form_with(model: @micropost, local: true) do |f| %> <%= render 'layouts/error_messages', model: f.object %> <div class ="field"> <%= f.label :画像%> <%= f.file_field :image %> </div> <div class= "form-group"> <%= f.label :title, 'タイトル' %> <%= f.text_field :title, class: 'form-control' %> </div> <div class= "form-group"> <%= f.label :day, '日時' %> <%= f.datetime_select :day, use_month_numbers:true, class: 'form-control' %> </div> <div class= "form-group"> <%= f.label :place, '場所' %> <%= f.text_field :place, class: 'form-control' %> </div> <div class= "form-group"> <%= f.label :number, '募集人数' %> <%= f.number_field :number, class: 'form-control' %> </div> <div class= "form-group"> <%= f.label :content, '内容' %> <%= f.text_area :content, class: 'form-control' %> </div> <%= f.submit '投稿', class: 'btn login_signup_button' %> <% end %> </div>
イベント一覧表示ページ
<body class="after_login_back"> <% @microposts.each do |micropost| %> <%= render 'microposts/microposts', micropost: micropost %> <% end %> </body>
_microposts.html.erb
<div class="card micropost_card col-sm-9"> <div class="posts"> <div class="card_left"> <% if micropost.image? %> <%= image_tag micropost.image.url, class:"micropost_image" %> <% else %> <%= image_tag 'no_image.png', class:"micropost_image" %> <% end %> </div> <div class="card_center"> <%= link_to micropost.title, micropost_path(micropost), class: 'micropost_title' %> <table class="table"> <tr> <td>日程 :</td> <td><%= micropost.day %></td> </tr> <tr> <td>場所 :</td> <td><%= micropost.place %></td> </tr> <tr> <td>募集人数:</td> <td><%= micropost.number %></td> </tr> </table> </div>
コントローラ
def index @microposts = Micropost.where(day: :day> Date.today).order(created_at: :desc) end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/18 11:27
2020/08/18 11:53
2020/08/19 12:16