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

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

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

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

Ruby on Rails 6

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

Ruby on Rails

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

Q&A

解決済

1回答

1837閲覧

Routing Error No route matches [POST] が出る

yamachi.0205

総合スコア1

Ruby

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

Ruby on Rails 6

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

Ruby on Rails

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

0グッド

1クリップ

投稿2020/10/01 07:08

前提・実現したいこと

RubyonRails初心者です。単語帳カードを作ろうとしています。
そこで、単語帳のタイトルを登録し、その後画面遷移し、単語を登録させようとしています。

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

単語帳を登録しようとすると、ルーティングエラーが出てしまいます。

エラーメッセージ

Routing Error
No route matches [POST] "/flashcards/new"
Routes
Routes match in priority from top to bottom

該当のソースコード

class FlashcardsController < ApplicationController def index @flashcards = Flashcard.all end def new @flashcard = Flashcard.new end def create @flashcard = Flashcard.new(flashcard_palams) if @flashcard.save redirect_to new_flashcard_word_path else render 'index' end end private def flashcard_palams params.require(:flashcard).permit(:name, word_id: params[:word_id]) end end
#flashcard_index.thml.erb <body> <div class="main"> <%# 単語一覧 %> <div class="card-list"> <h1>単語帳一覧</h1> <ul class="cards"> <li class="contents"> <%= link_to 'HTML', "#"%></li> <li class="contents"> <%= link_to 'CSS', "#"%></li> <li class="contents"> <%= link_to 'Ruby', "#"%></li> </ul> </div> <%# 登録機能 %> <div> <h2>単語帳登録</h2> <%= form_with model: @flashcard, url: new_flashcard_path, local: true do |f|%> <%= f.text_field :name, placeholder: "単語帳名"%> <%= f.submit "登録"%> <% end %> </div> </div> </body>
#routes.rb Rails.application.routes.draw do devise_for :users root to: "flashcards#index" resources :flashcards do resources :words end end

試したこと

viewの変数やform_withのモデル名、Urlなども変えてみましたが変化がなく、またmethod: getを追加してみましたが、問題は解決しませんでした。
そこで手詰まりになり、質問してみました。

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

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

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

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

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

guest

回答1

0

ベストアンサー

form_withurl: new_flashcard_pathが不適当です。

投稿2020/10/01 07:10

maisumakun

総合スコア146018

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

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

yamachi.0205

2020/10/01 07:21 編集

回答ありがとうございます。 url: flashcards_pathに変更することで ルーティングエラーは解決することができました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問