質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

解決済

1回答

428閲覧

simple_calenderのイベント表示

ryo__ohta

総合スコア0

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2020/09/07 08:58

編集2020/09/07 09:05

前提・実現したいこと

rails6でシンプルカレンダーでシフトを登録すると、カレンダーに表示されるようにしたい。
データベースは、postgreSQLで情報は入っています。
カレンダーにだけ表示されないです。

該当のソースコード

index.html.erb

1<div class="main"> 2 <%= render partial: 'shared/header' %> 3 <%= link_to new_shift_path do %> 4 <button type="button" class="btn btn-primary">シフト提出</button> 5 <% end %> 6 <button type="button" class="btn btn btn-warning">シフト編集</button> 7 8 <% @shifts.each do |shift| %> 9 <%= shift.start_time.strftime("%Y-%m-%d %H:%M") %> 10 <%= link_to 'Show', shift %> 11 <%= link_to 'Edit', edit_shift_path(shift.id) %> 12 <%= link_to 'Destroy',shift_path(shift.id), method: :delete, data: { confirm: 'Are you sure?' } %> 13 <% end %> 14 15 <%= month_calendar events: @shifts do |date, shifts| %> 16 <%= date.day %> 17 18 <% shifts.each do |shift| %> 19 <div> 20 <%= link_to shift.start_time, shift %> 21 </div> 22 <% end %> 23 <% end %> 24</div> 25

controller

1class ShiftsController < ApplicationController 2 3 def index 4 @users = User.all 5 @shifts = Shift.all 6 end 7 8 def show 9 @users = User.all 10 @shift = Shift.find(params[:id]) 11 end 12 13 def new 14 @shift = Shift.new 15 end 16 17 def create 18 Shift.create(shift_params) 19 redirect_to shifts_path 20 end 21 22 private 23 24 def shift_params 25 params.require(:shift).permit(:start_time, :end_time).merge(user_id: current_user.id) 26 end 27 28end 29

試したこと

ほとんど同じ記述でイベントカレンダーを作成してみると、表示されました。

該当のソースコード

index.html.erb

1<p id="notice"><%= notice %></p> 2 3<h1>イベント</h1> 4 5<table> 6 <thead> 7 <tr> 8 <th>タイトル</th> 9 <th>時間</th> 10 <th colspan="3"></th> 11 </tr> 12 </thead> 13 14 <tbody> 15 <% @events.each do |event| %> 16 <tr> 17 <td><%= event.title %></td> 18 <td><%= event.start_time.strftime("%Y-%m-%d %H:%M") %></td> 19 <td><%= link_to 'Show', event %></td> 20 <td><%= link_to 'Edit', edit_event_path(event.id) %></td> 21 <td><%= link_to 'Destroy',event_path(event.id), method: :delete, data: { confirm: 'Are you sure?' } %></td> 22 </tr> 23 <% end %> 24 </tbody> 25</table> 26 27<br> 28 29<%= link_to 'イベントを入力', new_event_path %> 30 31<%= month_calendar events: @events do |date, events| %> 32 <%= date.day %> 33 34 <% events.each do |event| %> 35 <div> 36 <%= link_to event.title, event %> 37 </div> 38 <% end %> 39<% end %>

controller

1class EventsController < ApplicationController 2 3 def index 4 @events = Event.all 5 end 6 7 def new 8 @event = Event.new 9 end 10 11 def show 12 @event = Event.find(params[:id]) 13 end 14 15 def create 16 Event.create(event_params) 17 redirect_to root_path 18 end 19 20 def edit 21 @event = Event.find(params[:id]) 22 end 23 24 def update 25 @event = Event.find(params[:id]) 26 if @event.update(event_params) 27 redirect_to root_path, notice: "編集しました" 28 else 29 render 'edit' 30 end 31 end 32 33 def destroy 34 @event = Event.find(params[:id]) 35 @event.destroy 36 redirect_to root_path, notice:"削除しました" 37 end 38 39 private 40 41 def event_params 42 params.require(:event).permit(:title, :content, :start_time) 43 end 44end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

end_timeがRubyの予約語?だったらしく、out_timeにすると表示されました。

投稿2020/09/07 20:00

ryo__ohta

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問