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

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

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

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

Ruby on Rails 6

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

Ruby on Rails

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1274閲覧

カレンダーの1日ごとのページへ遷移したい

ikedayuuki

総合スコア24

Ruby

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

Ruby on Rails 6

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

Ruby on Rails

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/10/30 03:43

編集2020/10/31 05:04

前提・実現したいこと

現在、railsにてカレンダーのアプリを作成しているのですが、カレンダーの日にちををしたら
1日ごとのページへ遷移するにはどうしたらいいでようか?
gemでsimple_calendarを使用しています。

何卒、よろしくお願いいたします

該当のソースコード

routes.rb

ruby

1Rails.application.routes.draw do 2 get 'searches',to: "searches#index" 3 mount RailsAdmin::Engine => '/admin', as: 'rails_admin' 4 devise_for :users, controllers: { 5 omniauth_callbacks: 'users/omniauth_callbacks', 6 registrations: 'users/registrations' 7 } 8 post '/callback' => 'linebot#callback' 9 get 'homes/index' 10 resources :homes, only: [:index] 11 root to: 'home#index' 12 resources :users 13 resources :attendances 14 resources :daytimes 15 resources :restaurants, only: [:index, :show] 16 resources :searches do 17 collection do 18 get 'search' 19 end 20 end 21 namespace :admin do 22 resources :restaurants, only: [:index, :new, :create, :show, :edit, :destroy] 23 end 24end 25

attendances_controller.rb

ruby

1class AttendancesController < ApplicationController 2 before_action :authenticate_user!, except: [:index] 3 4 def index 5 @attendances = Attendance.all 6 end 7 8 9 def new 10 @attendance = Attendance.new 11 end 12 13 def show 14 @attendance = Attendance.find(params[:id]) 15 end 16 17 def create 18 @attendance = Attendance.new(attendance_params) 19 @attendance.user_id = current_user.id 20 @attendance.save 21 redirect_to attendances_path(@attendance) 22 end 23 24 def destroy 25 @attendance = Attendance.find(params[:id]) 26 if @attendance.user != current_user 27 redirect_to attendances_path, alert: "不正なアクセスです" 28 else 29 @attendance.destroy 30 redirect_to attendances_path, notice:"削除しました" 31 end 32 end 33 34 def edit 35 @attendance = Attendance.find(params[:id]) 36 if @attendance.user != current_user 37 redirect_to attendances_path, alert: "不正なアクセスです" 38 end 39 40 end 41 42 def update 43 @attendance = Attendance.find(params[:id]) 44 if @attendance.update(attendance_params) 45 redirect_to attendances_path(@attendance), notice: "更新しました" 46 else 47 render 'edit' 48 end 49 end 50 51 private 52 53 def attendance_params 54 params.require(:attendance).permit(:title, :content, :start_time, :last_time, :username) 55 56 end 57 58end 59 60

attendances.html.erb

html

1<div class="text text01"> 2<%= month_calendar events: @attendances do |date, attendances| %> 3 <%= link_to daytimes_url, class: "navbar-item" do %> 4 <div class="title is-5"> <%= date.day %></div> 5 <% end %> 6 7 8 <% attendances.each do |attendance| %> 9 <div> 10 <%= link_to attendance.user.username, attendance %> 11 </div> 12 <% end %> 13 <% end %> 14 </div> 15

_month_calendar.html.erb

html

1<div class="simple-calendar"> 2 <div class="calendar-heading"> 3 <%= link_to t('simple_calendar.previous', default: '先月'), calendar.url_for_previous_view %> 4 <span class="calendar-title"><%= t('date.month_names')[start_date.month] %> <%= start_date.year %></span> 5 <%= link_to t('simple_calendar.next', default: '翌月'), calendar.url_for_next_view %> 6 </div> 7 8 <table class="table table-striped"> 9 <thead> 10 <tr> 11 <% date_range.slice(0, 7).each do |day| %> 12 <th><%= t('date.abbr_day_names')[day.wday] %></th> 13 <% end %> 14 </tr> 15 </thead> 16 17 <tbody> 18 <% date_range.each_slice(7) do |week| %> 19 <tr> 20 <% week.each do |day| %> 21 <%= content_tag :td, class: calendar.td_classes_for(day) do %> 22 <% if defined?(Haml) && respond_to?(:block_is_haml?) && block_is_haml?(passed_block) %> 23 <% capture_haml(day, sorted_events.fetch(day, []), &passed_block) %> 24 <% else %> 25 <% passed_block.call day, sorted_events.fetch(day, []) %> 26 <% end %> 27 <% end %> 28 <% end %> 29 </tr> 30 <% end %> 31 </tbody> 32 </table> 33</div> 34

attendance.js

js

1document.addEventListener("turbolinks:load" 2,function() { 3 $('[name="btn"]:radio').change( function() { 4 if($('[id=a]').prop('checked')){ 5 $('.text').fadeOut(); 6 $('.text01').fadeIn(); 7 } else if ($('[id=b]').prop('checked')) { 8 $('.text').fadeOut(); 9 $('.text02').fadeIn(); 10 } 11 }); 12});

daytime_controller.rb

ruby

1class DaytimesController < ApplicationController 2 def index 3 @daytime = Daytime.where(date: :day) 4 end 5 def show 6 @daytime = Daytaime.find(params[:id]) 7 end 8 def daytime_params 9 params.require(:daytaime).permit(:attendance_id, :user_id) 10 11 end 12 13end 14

daytims/index.html.erb

<%= calendar number_of_days: 1 do |date| %> <%= date.day %> <% end %>

試したこと

daytimes_controllerのindexアクションに@daytime = Daytime.whereで抽出しようとしましたがうまく行きませんでした。
daytims/index.html.erbを追記したのですが、今日の日時しか取得できません

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

ruby '2.6.5'
gem 'simple_calendar', '~> 2.0'

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

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

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

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

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

guest

回答1

0

自己解決

attendancess/indexhtml.erbに

<div class="text text03"> <%= calendar number_of_days: 1, events: @attendances do |date, attendances| %> <%= link_to daytimes_url, class: "navbar-item" do %> <div class="title is-5"> <%= date.day %></div> <% end %>

を記述し日別でも見れるようにしたら行けました。

投稿2020/10/31 11:48

ikedayuuki

総合スコア24

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問