以下の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
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。