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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Q&A

0回答

1028閲覧

simple calendarで各日の予定表示と、自作の表への反映をできるようにしたい。

syosinsya123

総合スコア3

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

0グッド

0クリップ

投稿2021/10/06 08:59

編集2021/10/06 13:12

前提・実現したいこと

railsを勉強中の者です。至らない点は多々ございますが初めて質問させて頂きます。
現在simple calendarのgemを用いて、スケジュール管理機能を実装したアプリケーションを開発しております。
これを各日にちに合わせた予定を表示させつつ、カレンダーの日にちをクリックした際に自作の表にその予定が反映できるように実装したいと考えております。

該当のソースコード

routes.rb

ruby

1Rails.application.routes.draw do 2 get 'events/index' 3 devise_for :users 4 root to: "users#index" 5 resources :events, only: [:index, :create, :update, :destroy, :new, :edit, :show] 6end

events_controller.rb

ruby

1class EventsController < ApplicationController 2 before_action :move_to_index, only: [:edit, :update, :destroy] 3 def index 4 @user = current_user 5 @events = Event.where(user_id: current_user).order('id DESC') 6 end 7 8 def edit 9 10 end 11 12 def new 13 @event = Event.new 14 end 15 16 def create 17 @event = Event.new(event_params) 18 if @event.user_id = current_user.id 19 @event.save 20 redirect_to events_index_path 21 else 22 redirect_to root_path 23 end 24 end 25 26 def update 27 if @event.update(event_params) 28 redirect_to events_index_path 29 else 30 redirect_to root_path 31 end 32 end 33 34 def destroy 35 @event.destroy 36 redirect_to events_index_path 37 end 38 39 40 private 41 42 def event_params 43 params.require(:event).permit(:user_id, :set, :menu, :rep, :weight).merge(user_id: current_user.id) 44 end 45 46 def move_to_index 47 @event = Event.find(params[:id]) 48 unless @event.user == current_user 49 redirect_to root_path 50 end 51 end 52end

event.rb

ruby

1class Event < ApplicationRecord 2 belongs_to :user 3 4 validates :user_id, presence: true 5 validates :menu, presence: true 6end

index.html.erb

ruby

1<!DOCTYPE html> 2<head> 3 <meta charset="utf-8"> 4 <meta name="viewport" content="width=device-width, initial-scale=1"> 5 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.3/css/bulma.min.css"> 6</head> 7 8<div class="container is-fluid"> 9 <h2 class="notification is-primary">Your Training</h2> 10 <div class="columns"> 11 <div class="column is-size-5 has-text-justified"> 12 <%= form_with model: @event, url: events_path(@event), local: true do |f| %> 13 <div class="field"> 14 <label class="label"> 15 <%= f.label :menu %> 16 <p><%= f.text_field :menu %></p> 17 18 <%= f.label :weight %> 19 <p><%= f.text_field :weight %></p> 20 21 <%= f.label :rep %> 22 <p><%= f.text_field :rep %></p> 23 24 <%= f.label :set %> 25 <p><%= f.text_field :set %></p> 26 <label> 27 </div> 28 <div class="actions row"> 29 <%= f.submit "登録"%> 30 </div> 31 <% end %> 32 </div> 33 <div class="column is-three-quarters"> 34 <%= month_calendar(events: @events) do |date, events| %> 35 <%= date.day %> 36 <% @events.each do |event| %> 37 <%= event.menu %> 38 <% end %> 39 <% end %> 40 </div> 41 </div> 42 <table class="table is-bordered is-fullwidth"> 43 <thead> 44 <tr> 45 <th>menu</th> 46 <th>weight</th> 47 <th>rep</th> 48 <th>set</th> 49 <th></th> 50 </tr> 51 </thead> 52 53 <tbody> 54 <% @events.each do |user| %> 55 <tr> 56 <td><%= user.menu %></td> 57 <td><%= user.weight%></td> 58 <td><%= user.rep%></td> 59 <td><%= user.set%></td> 60 <%# <td><%= user.start_time.strftime("%Y-%m-%d %H:%M")%></td> 61 <td><%= link_to "削除", event_path(id: user.id), method: :delete, data: {confirm:"削除しますか?"} ,:class=>"button is-danger is-light" %></td> 62 </tr> 63 <% end %> 64 </tbody> 65 </table> 66 <%# <%= paginate @events %> 67 68</div> 69

試したこと

index.html.erbの37行目を追加したり、event.menu.idに変更したりしましたが、エラーが出たり意図した表示にはなりませんでした。

質問投稿後に試したこと

再度状況確認をするために予定の登録をしようとしたところで、param is missing or the value is empty: event
のエラーが出てしまったためストロングパラメーターを確認しましたが、どのように対処すればいいか分からず何も進んでいない状態です。

補足情報(FW/ツールのバージョンなど)

gem 'rails', '~> 6.0.0'
gem 'mysql2', '>= 0.4.4'

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問