記事に新しいコメントを追加しようとしているときにエラー(NoMethodError)が表示されていますが、問題は未定義のメソッド` comments_path'これは私がコードファイルにコードファイルで見つからない未定義のメソッド `comments_path '
を見つけることができません
注助けてください:問題は、私はエラーが何かを指しているにも私は、このエラーについて検索しようとしましたが、私が見つけた結果は関係ありませんでした を見つけることができません。
エラーは以下の通りです:#コメントで
NoMethodError新しいライン#1が上げ 表示/home/abc/my_ruby_projects/myblog3/app/views/comments/_form.html.erb:
未定義のメソッド `comments_path 'は#<#:0x007fb57888bf28> ですか? (ライン#1の周り)font_path 抽出されたソース:テンプレートインクルージョンの
<%= form_with model: @comment do |form| %>
<% if comment.errors.any? %>
<div id="error_explanation">
<....>
<ul>
トレース:アプリ/ビュー/コメント/ new.html.erb
Rails.root:/ホーム/ ABC/.../myblog3
下図のように、私は記事&コメントのネストされたルートを定義しています
resources :articles do
resources :comments
end
私のルート以下に示すように、正しいようだ:
Prefix Verb URI Pattern Controller#Action
rails_admin /admin RailsAdmin::Engine
article_comments GET /articles/:article_id/comments(.:format) comments#index
POST /articles/:article_id/comments(.:format) comments#create
new_article_comment GET /articles/:article_id/comments/new(.:format) comments#new
edit_article_comment GET /articles/:article_id/comments/:id/edit(.:format) comments#edit
article_comment GET /articles/:article_id/comments/:id(.:format) comments#show
PATCH /articles/:article_id/comments/:id(.:format) comments#update
PUT /articles/:article_id/comments/:id(.:format) comments#update
DELETE /articles/:article_id/comments/:id(.:format) comments#destroy
articles GET /articles(.:format) articles#index
POST /articles(.:format) articles#create
new_article GET /articles/new(.:format) articles#new
edit_article GET /articles/:id/edit(.:format) articles#edit
article GET /articles/:id(.:format) articles#show
PATCH /articles/:id(.:format) articles#update
PUT /articles/:id(.:format) articles#update
DELETE /articles/:id(.:format) articles#destroy
ご協力いただきありがとうございます。 実際に私はリソースを持っています:ルートに既にコメントがあり、コントローラにはアクションがあります。ここで問題は新しいコメントであり、主にショーコメントメソッドではありません。 routes.rb&rails routes cmdに関する最新情報を確認してください。 –
あなたの部分は@commentとコメント(no @)を混在させているようです...あなたの外部ビューはコメント変数を定義していますか、それは@commentでもかまいませんか? –
私は多分あなたが混乱していると思います...あなたのルートはネストされたリソースとしてコメントにアクセスするように設定されていますが、あなたのフォームはそうではありません。あなたのルートを平らにして(独自のリソースをコメントしてください)、うまくいくかもしれません。代わりに、bang bangのアプローチと記事モデルを介して保存されているネストされた属性の設定を試すこともできますが、私はあなたのforn構造を再考する必要があるでしょう。 –