いつもお世話になっております。
Rails5で勤怠管理アプリを制作中なのですが、
Routing Error
が出てしまいます。
##実現したいこと
top_page
でボタンを押すと、押した時間が保存され、top_page
にリダイレクトする。
##ソース
html
1<!-- top_page --> 2<div class="col-md-12 col-sm-12 col-xs-12 alert_message"> 3 <% flash.each do |key, value| %> 4 <%= content_tag(:div, value, class: "#{key}") %> 5 <% end %> 6</div> 7<div class="col-md-12 col-sm-12 col-xs-12 text-center"> 8 <%= form_tag work_in_create_path, method: :post do %> 9 <button type='submit' class="btn btn-lg btn-default menu_button">ボタン</button> 10 <% end %> 11</div>
ruby
1#routes.rb 2Rails.application.routes.draw do 3 4 get '', to:'top_page#index', via:'get', as:'top_page' 5 6 scope :work_in do 7 get '', to:'work_in#index', via:'get', as:'work_in' 8 get 'new', to:'work_in#new', via:'get', as:'work_in_new' 9 get 'create', to:'work_in#create', via:'post', as:'work_in_create' 10 get 'edit', to:'work_in#edit', via:'get', as:'work_in_edit' 11 get 'update', to:'work_in#update', via:'get', as:'work_in_update' 12 get 'delete', to:'work_in#delete', via:'get', as:'work_in_delete' 13 end 14end
ruby
1#work_in_controller.rb 2class WorkInController < ApplicationController 3 def index 4 end 5 6 def new 7 end 8 9 def create 10 @work_in_time = WorkingTime.new 11 @work_in_time.work_in_time = DateTime.new 12 13 if @work_in_time.save 14 redirect_to top_page_path 15 flash[:notice] = "時間を記録しました!" 16 else 17 redirect_to top_page_path 18 flash[:alert] = "時間を記録できませんでした。もう一度お試しください。" 19 end 20 end 21 22 def edit 23 end 24 25 def update 26 end 27 28 def delete 29 end 30end
エラー文
Started POST "/work_in/create" for ::1 at 2017-09-22 16:30:01 +0900 ActionController::RoutingError (No route matches [POST] "/work_in/create"):
なお、rails routes
を叩くと、以下が返ってきます。
Prefix Verb URI Pattern Controller#Action top_page GET / top_page#index work_in GET /work_in(.:format) work_in#index work_in_new GET /work_in/new(.:format) work_in#new work_in_create GET /work_in/create(.:format) work_in#create work_in_edit GET /work_in/edit(.:format) work_in#edit work_in_update GET /work_in/update(.:format) work_in#update work_in_delete GET /work_in/delete(.:format) work_in#delete
初歩的な質問で申し訳ないですが、ご教授いただければと思います。
どうぞよろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。