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

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

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

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Q&A

解決済

1回答

2533閲覧

rails : form_forメソッドのeditでTimeクラスのオブジェクトがセットされない

innjera

総合スコア132

Ruby on Rails

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

0グッド

0クリップ

投稿2016/11/23 04:14

編集2016/11/23 23:01

Rails 5.0.0.1にて開発しています。デザインにはbootstrapを利用しています。

form_forにてeditアクション用のフォームを表示すると、datetimeのみ元々入れている日時が表示されず、表示になってしまいます。誤りをご指摘頂けますと助かります。

編集前の画像
イメージ説明

編集画面(datetimeのみ空になってしまっています)
イメージ説明
migrationファイル

ruby

1class CreateLessons < ActiveRecord::Migration[5.0] 2 def change 3 create_table :lessons do |t| 4 t.string :title, null: false 5 t.string :place, null: false 6 t.text :body, null: false 7 t.datetime :starts_at, null: false 8 t.datetime :ends_at, null: false 9 10 t.timestamps 11 end 12 end 13end

edit.html.erb

ruby

1<%= form_for @lesson do |form| %> 2<%= render "form", form: form%> 3<%= form.submit %> 4<% end%>

_form.html.erb

ruby

1<div class = "container"> 2 <div class="form-group row"> 3 <%= form.label :title, "講座名", class: "col-xs-2 col-form-label" %> 4 <div class="col-xs-10"> 5 <%= form.text_field :title, class: "form-control", type: "text", 6 placeholder: "講座名を記載", id: "example-text-input" %> 7 </div> 8 </div> 9 10 <div class="form-group row"> 11 <%= form.label :place, "場所", class: "col-xs-2 col-form-label" %> 12 <div class="col-xs-10"> 13 <%= form.text_field :place, class: "form-control", type: "text", 14 placeholder: "場所を記載", id: "example-text-input"%> 15 </div> 16 </div> 17 18 <div class="form-group row"> 19 <%= form.label :body, "講義内容", class: "col-xs-2 col-form-label" %> 20 <div class="col-xs-10"> 21 <%= form.text_area :body, class: "form-control", type: "text", 22 placeholder: "講座内容を記載", id: "exampleTextarea", rows: 3 %> 23 </div> 24 </div> 25 26 <div class="form-group row"> 27 <%= form.label :starts_at, "開始日時", class: "col-xs-2 col-form-label" %> 28 <div class="col-xs-10"> 29 <%= form.text_field :starts_at, class: "form-control", type: "datetime-local", 30 id: "example-datetime-local-input"%> 31 </div> 32 </div> 33 34 <div class="form-group row"> 35 <%= form.label :ends_at, "終了日時", class: "col-xs-2 col-form-label" %> 36 <div class="col-xs-10"> 37 <%= form.text_field :ends_at, class: "form-control", type: "datetime-local", 38 id: "example-datetime-local-input"%> 39 </div> 40 </div> 41</div><!--container-->

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

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

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

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

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

guest

回答1

0

自己解決

_form.html.erb以外は全て正しい記載でした。
_form.html.erbの該当部分を以下の通り修正したところ、既に設定されているmodelをデフォルト値に設定できました。
他のやり方をご存知の方、ご教示頂けますと幸甚です。

ruby

1<div class="form-group row"> 2 <%= form.label :starts_at, "開始", class: "col-sm-2 col-xs-12 col-form-label" %> 3 <div class="col-sm-4 col-xs-8"> 4 <%= form.text_field :starts_at, class: "form-control", type: "datetime-local", 5 value: @lesson.starts_at.iso8601.gsub(/\+..:..$/, ''), id: "example-datetime-local-input"%> 6 </div> 7 <%= form.label :ends_at, "終了", class: "col-sm-2 col-xs-12 col-form-label" %> 8 <div class="col-sm-4 col-xs-8"> 9 <%= form.text_field :ends_at, class: "form-control", type: "datetime-local", 10 value: @lesson.ends_at.iso8601.gsub(/\+..:..$/, ''), id: "example-datetime-local-input"%> 11 </div> 12 </div>

投稿2016/11/23 13:52

innjera

総合スコア132

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問