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

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

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

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

Ruby on Rails

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

Q&A

解決済

1回答

690閲覧

1つのフォーム入力で複数のモデルを登録しようとするとRouting errorが発生

soybeans

総合スコア6

Ruby

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

Ruby on Rails

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

0グッド

0クリップ

投稿2020/04/17 01:47

前提・実現したいこと

現在家計簿アプリを作成しています。1つのフォームで複数のモデルの登録を同時にしようとしています。
incomeモデルの登録と同時にeventモデルの登録を行おうとしています。

エラーが発生したのでこれを解消したいです。

発生している問題・エラーメッセージ

エラーメッセージ Noroute matches [POST] "/incomes/new" ```routing errorが発生しました。 ### 該当のソースコード ```ruby #routes.rb Rails.application.routes.draw do devise_for :users, :controllers => { :registrations => 'users/registrations', :sessions => 'users/sessions' } devise_scope :user do get "sign_in", :to => "users/sessions#new" get "sign_out", :to => "users/sessions#destroy" end root "origins#index" resources :incomes resources :events end

ruby

1#incomes_controller 2class IncomesController < ApplicationController 3 def new 4 @income = Income.new 5 @income.build_event 6 end 7 8 def create 9 binding.pry 10 Income.create(income_params) 11 redirect_to root_path 12 end 13 14 15 private 16 def income_params 17 params.require(:income).permit(:date, :amount, event_attributes:[:title, :genre_ids]).merge(user_id: current_user.id) 18 end 19end

ruby

1new.html.haml 2.main 3 = form_for @income do |f| 4 .form-group 5 = f.label :date, "日付" 6 = f.date_field :date 7 = f.label :amount, "金額" 8 = f.number_field :amount 9 = f.fields_for :event do |e| 10 .form-group 11 = e.collection_select :genre_ids, Genre.all, :id, :genre 12 = e.label :title, "名前" 13 = e.text_field :title 14 = f.submit "Send"

試したこと

routes.rb の誤記確認(Routing errorはroutes.rbのミスというイメージがある為)
アソシエーションの確認

ruby

1#income.rb 2class Income < ApplicationRecord 3 has_one :event 4 belongs_to :user 5 accepts_nested_attributes_for :event 6end

ruby

1#event.rb 2class Event < ApplicationRecord 3 belongs_to :user 4 has_many :event_genres, dependent: :destroy 5 has_many :genres, through: :event_genres 6 belongs_to :income 7end

補足情報(FW/ツールのバージョンなど)

Rails 5.0.7.2
JQueryのライブラリーのFullcalenderを使用する為に、eventという名前のモデルを使用しています。

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

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

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

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

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

guest

回答1

0

自己解決

PCを再起動したらエラーが消えました。

投稿2020/04/17 04:46

soybeans

総合スコア6

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問