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

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

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

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

Q&A

解決済

1回答

259閲覧

NoMethodErrorが解決できません。

Masskaz

総合スコア32

Ruby on Rails

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

0グッド

1クリップ

投稿2019/03/05 07:01

前提・実現したいこと

Ruby Rails 初心者です。
フォームを使用して新規登録をしたいのですが、
エラーが出てしまい、解決できずに困っています。
コントローラ名のコーデのスペルを登録時に間違えてしまっていますが、そちらも踏まえてご教示いただけると大変助かります。
宜しくお願い致します。

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

NoMethodError in Coredes#new undefined method `cordes_path' for #<#<Class:0x000055fba84cbb08>:0x000055fba84a07f0> Did you mean? coredes_path corede_path

該当のソースコード

Ruby

1new.html.erb 2h1>コーデ登録</h1> 3 <%= form_for(@corde_new) do |f| %> 4 ▷ブランド名 5 <%= f.text_field :brand %> 6 ▷シーズン 7 <%= f.radio_button :season, "春" %>8 <%= f.radio_button :season, "夏" %> 夏 9 <%= f.radio_button :season, "秋" %> 秋 10 <%= f.radio_button :season, "冬" %>11 <%= f.submit'保存' %> 12 <% end %> 13 14 15class CoredesController < ApplicationController 16 17 def new 18 @corde_new = Corde.new 19 end 20 21 def index 22 end 23 24 def show 25 end 26 27 def create 28 # corde = Corede.new(corde_params) 29 # corde.save 30 end 31 32private 33 def corde_params 34 params.require(:corde).permit(:item_id,:corde_name,:image,:season) 35 end 36 37end 38

試したこと

コーデのスペルミスが問題かと思い、合わせたりもしましたが、エラーは変わりませんでした。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/03/05 07:27

undefined method `cordes_path' とエラーが出ていますので、cordes_pathが記述してあるファイルを示して下さい。
guest

回答1

0

ベストアンサー

Railsでは「設定より規約」が重視されるので
誤った命名をするとツラくなります。

楽なのはroutes.rbを修正して

rb

1resources :cordes

に書き直し、CoredesControllerCordesControllerに修正してしまう事でしょう。


どうしても対症療法が必要な場合は

erb

1<%= form_for(@corde_new, as: :post, url: cordes_path) do |f| %>

(リファレンスみると html: { class: "new_post", id: "new_post" }も必要かもしれません。)

投稿2019/03/05 07:27

asm

総合スコア15147

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

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

Masskaz

2019/03/05 07:39

ご回答いただき、ありがとうございます! コントローラ名を変更して、無事解決致しました。 命名も今後気をつけます。 本当にありがとうございました! 大変助かりました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問