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

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

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

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

Ruby on Rails

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

Q&A

解決済

1回答

3205閲覧

railsで「ActionView::Template::Error (undefined method `posts_path' 」とエラーになる。

hoge_nakatani

総合スコア63

Ruby

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

Ruby on Rails

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

0グッド

1クリップ

投稿2019/09/03 14:00

postsモデルで投稿をするページになります。
railsで下記のようなエラーがでますが、これはどうすれば治るのでしょうか?

ActionView::Template::Error (undefined method `posts_path' for #<#<Class:0x000000000ed65930>:0x000000000ed6f548> Did you mean? posts_new_path):

routes.rb

Rails.application.routes.draw do get "posts/new" => "posts#new" post "posts/create" => "posts#create" end

posts_controller.rb

def new @post = Post.new end def create @post = Post.new( name: params[:name] ) end

new.html.erb

<%= form_for(@post) do |f| %> <%= f.label :name %> <%= f.text_field :name %> <% end %>

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

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

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

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

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

winterboum

2019/09/03 23:43

エラーメッセージの後にどのファイルのどの行で出たかというのがあるとおもいます。 それも載せてください。 そのファイルのcodeも (該当行がどこか判るようにしてもらえるとより良い)
guest

回答1

0

ベストアンサー

form_for@post を渡すことによって posts_path を期待しているため
post_path を用意していな限り当然 undefined method posts_path'` となります。

bundle exec rake routes で定義されているルートが確認できますが、 現状の routes.rb だと posts_path は定義されていないと思います。

ruby

1Rails.application.routes.draw do 2 resource :posts, only[:new, :create] 3end

とするのが良いのではないでしょうか。

投稿2019/09/04 00:44

編集2019/09/04 00:45
unhappychoice

総合スコア1531

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問