前提・実現したいこと
SimpleCalendarを利用したメモ付きカレンダーを作ろうとしています。
下記の記事を参考にして作成を進めています。
「【初心者向け】Railsでメモ付きカレンダーを作ってみよう。SimpleCalendar」
上記に書かれていることをそっくりコピーしたあと、正しくビューが表示できずに困っています。
発生している問題
上記のとおり、タイトルと日程が正しく表示されません。
該当のソースコード
index.html.erb
index.html.erb
1<p id="notice"><%= notice %></p> 2 3<div class="toppage"> 4<h1 class="top">カレンダー</h1> 5<br> 6 7<div class="row"> 8<div class="col-md-4"> 9 <div class="schedule">今後の予定一覧</div> 10<table class="table"> 11 <thead class="thead-light"> 12 <tr> 13 <th>タイトル</th> 14 <th>日程</th> 15 </tr> 16 </thead> 17 18 <tbody> 19 <% @blogs.each do |blog| %> 20 <tr> 21 <td><%= link_to blog.title, blog %></td> 22 <td><%= blog.start_time.strftime("%m-%d") if blog.start_time %></td> 23 </tr> 24 <% end %> 25 </tbody> 26</table> 27 28<%= form_with(model: @blog, local: true) do |form| %> 29 30 <div class="title"> 31 <div class="form-tag">タイトル</div> 32 <%= form.text_field :title %> 33 </div> 34 35 36 <div class="content"> 37 <div class="form-tag">内容</div> 38 <%= form.text_field :content %> 39 </div> 40 41 <div class="time"> 42 <div class="form-tag">時間</div> 43 <%= form.datetime_select :start_time %> 44 </div> 45 46 <div class="submit"> 47 <%= form.submit %> 48 </div> 49<% end %> 50</div> 51 52<br> 53 54 55<br> 56<div class="col-md-8"> 57<%= month_calendar events: @blogs do |date, blogs| %> 58 <%= date.day %> 59 60 <% blogs.each do |blog| %> 61 <div> 62 <%= link_to blog.title, blog %> 63 </div> 64 <% end %> 65<% end %> 66</div> 67</div> 68</div>
blogs_controller.rb
class BlogsController < ApplicationController def index @blogs = Blog.all @blog = Blog.new end def new @blog = Blog.new end def show @blog = Blog.find(params[:id]) end def create Blog.create(blog_parameter) redirect_to blogs_path end def destroy @blog = Blog.find(params[:id]) @blog.destroy redirect_to blogs_path, notice:"削除しました" end def edit @blog = Blog.find(params[:id]) end def update @blog = Blog.find(params[:id]) if @blog.update(blog_parameter) redirect_to blogs_path, notice: "編集しました" else render 'edit' end end private def blog_parameter params.require(:blog).permit(:title, :content, :start_time) end end
試したこと
・打ち間違えがないかチェック
→問題はなし
ご回答よろしくお願いいたします。
blog が正しく保存されてないのかもしれません。
BlogsController の create アクションを Blog.create!(blog_parameter)
に書き換えて(createのあとに!がつきます)、「Create Button」を押すとエラーが出ませんか?
ご回答ありがとうございます。
そのように修正・実行したところ、エラーは出ませんでした。
ごめんなさい。保存できてるんだからエラーは関係ありませんでした・・・
bin/rails c して Blog.all として title や content が保存されているか確認してみてください。
カレンダー部分のlinkは表示されますか?
titleも怪しげですが、日付が表示されないのは
if blog.start_time
が効いていると思われるので、start_time も確認してください。
あなたの回答
tips
プレビュー