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

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

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

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

Ruby on Rails

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

Q&A

解決済

1回答

1091閲覧

データがアップデートされない

mamurudesuyo

総合スコア12

Ruby

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

Ruby on Rails

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

0グッド

0クリップ

投稿2017/06/04 08:44

以下のViewとControllerでデータの更新処理を行っているのですが、何故か更新されません。理由も分からず、どうしたら更新されるようになるのか行き詰っています。よろしくお願いします。

View

ruby

1<%= form_for @contest, :url => {:controller => "tops/admins", :action => "update_contest", :contest_id => @contest.id} do |contest| %> 2 <%= contest.label :name, "name" %> 3 <%= contest.text_field :name %><br> 4 <%= contest.label :describe, "describe" %> 5 <%= contest.text_area :describe %><br> 6 <%= contest.label :min_text_size, "min_text_size" %> 7 <%= contest.number_field :min_text_size %><br> 8 <%= contest.label :max_text_size, "max_text_size" %> 9 <%= contest.number_field :max_text_size %><br> 10 <%= contest.label :start_notice_time, "start_notice_time" %> 11 <%= contest.datetime_select :start_notice_time, :start_year => 2000, :end_year =>2100 %><br> 12 <%= contest.label :start_post_time, "start_post_time" %> 13 <%= contest.datetime_select :start_post_time, :start_year => 2000, :end_year =>2100 %><br> 14 <%= contest.label :start_vote_time, "start_vote_time" %> 15 <%= contest.datetime_select :start_vote_time, :start_year => 2000, :end_year =>2100 %><br> 16 <%= contest.label :start_announce_time, "start_announce_time" %> 17 <%= contest.datetime_select :start_announce_time, :start_year => 2000, :end_year =>2100 %><br> 18 <%= contest.submit %> 19<% end %>

Controller

ruby

1 #データ渡し 2 def edit_contest 3 @contest = Contest.find(params[:contest_id]) 4 end 5 #データ受け取り、更新 6 def update_contest 7 @contest = Contest.find(params[:contest_id]) 8 if @contest.update(contest_params) 9 redirect_to controller: "tops/admins", action: "show" 10 else 11 redirect_to controller: "tops/admins", action: "show", notice: "failed to update" 12 end 13 end 14#パラメータ許可 15 def contest_params 16 params.require(:contest).permit(:name, 17 :describe, 18 :min_text_size, 19 :max_text_size, 20 :start_notice_time, 21 :start_post_time, 22 :start_vote_time, 23 :start_announce_time) 24 end

また、以下にDB部分のコンソール出力も置いておきます。
UPDATEが行われて、正常に画面遷移し、notice表示もありません。

(0.0ms) BEGIN
SQL (0.5ms) UPDATE "contests" SET "point1_name" = $1, "updated_at" = $2 WHERE "contests"."id" = $3 [["point1_name", "a"], ["updated_at", "2017-06-04 08:31:25.377216"], ["id", 1]]
(32.1ms) COMMIT

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

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

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

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

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

guest

回答1

0

自己解決

時間関連がupdateされなかったのですが、単純にtime型とdatetime型を間違えていただけでした。

投稿2017/06/04 10:00

mamurudesuyo

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問