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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

0回答

318閲覧

datetimeのパラメータをうまく取得することができない

oiykram

総合スコア11

Ruby on Rails 5

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/04/28 01:35

events.new.erbでパラメーターがうまく取得することができません。。

Ruby on Railsでfullcalendarを利用した予定管理アプリを作成しながら勉強中です。
jqueryで終日(checkbox)をチェックしたら、class="hidden-if-allday"のdatetime_selectとclass="visible-if-allday"のdate_selectを切り替えています。
sccsで、class="visible-if-allday"をdisplay: none;にしておいて、チェックすると表示させるようにしています。

events.new.erbで、終日をチェックせず、datetime_selectで、startの値を選んで、submitした時、選んだ日付がうまく受け取れません。datetime_select、date_selectの両方とも名称を、startとしていることが原因でしょうか?それとも、jqueryの原因なのでしょうか?
よろしければ、ご教授お願いします。

Ruby

1...events_controller.rb 2 def new 3 @event = Event.new 4 time0 = Time.current.beginning_of_hour 5 @event.start = time0.advance(hours: 1) 6 @event.end = time0.advance(hours: 2) 7 end 8 9 def create 10 @event = Event.new(event_params) 11 @event.user_id = @current_user.id 12 if @event.allDay? 13 @event.start = @event.start.beginning_of_day 14 @event.end = @event.end.tomorrow.beginning_of_day 15 end 16 respond_to do |format| 17 if @event.save 18 format.html { redirect_to '/events/index',notice: 'Event was successfully created.' } 19 format.json { render :show, status: :created, location: @event } 20 else 21 format.html { render :new } 22 format.json { render json: @event.errors, status: :unprocessable_entity } 23 end 24 end 25 end 26 27 private 28 def set_event 29 @event = Event.find_by(id:params[:id]) 30 end 31 32 def event_params 33 params.require(:event).permit( 34 :title, 35 :start, 36 :end, 37 :place, 38 :description, 39 :allDay 40 ) 41 end

html

1events/new.html.erb 2.... 3 <div class="form-group form-allDay"> 4 <div class="group-label"> 5 <%= f.label :allDay, "allDay" %> 6 </div> 7 <div class="group-inner"> 8 <%= f.check_box :allDay, :as => :boolean %> 9 </div> 10 </div> 11 <div class="form-group hidden-if-allday"> 12 <div class="group-label"> 13 <i class="fas fa-2x fa-angle-double-right"></i> 14 </div> 15 <div class="group-inner"> 16 <%= f.datetime_select :start %> 17 </div> 18 </div> 19 <div class="form-group hidden-if-allday"> 20 <div class="group-label"> 21 <i class="fas fa-2x fa-angle-double-left"></i> 22 </div> 23 <div class="group-inner"> 24 <%= f.datetime_select :end %> 25 </div> 26 </div> 27 <div class="form-group visible-if-allday"> 28 <div class="group-label"> 29 <i class="fas fa-2x fa-angle-double-right" ></i> 30 </div> 31 <div class="group-inner> 32 <%= f.date_select :start %> 33 </div> 34 </div> 35 <div class="form-group visible-if-allday"> 36 <div class="group-label"> 37 <i class="fas fa-2x fa-angle-double-left"></i> 38 </div> 39 <div class="group-inner"> 40 <%= f.date_select :end %> 41 </div> 42 </div> 43....

js

1 2$(document).on('change', '#event_allDay', function(){ 3 var form = $('.new_event,.index_event,.edit_event'); 4 var checkBox = $('#event_allDay'); 5 var allDay = checkBox.prop('checked'); 6 form.find('.visible-if-allday').toggle(allDay); 7 form.find('.hidden-if-allday').toggle(!allDay); 8});

sccs

1 .visible-if-allday { 2 display: none; 3 }

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問