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

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

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

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

Ruby on Rails

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

Q&A

解決済

1回答

2004閲覧

ruby on railsの新規投稿を保存保存できない

takenokonosato

総合スコア13

Ruby

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

Ruby on Rails

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

0グッド

2クリップ

投稿2019/06/03 15:08

前提・実現したいこと

railsで新規投稿を保存したい

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

Routing Error No route matches [POST] "/posts" Rails.root: /Users/matsuyamatakeshi/Desktop/pf1 Application Trace | Framework Trace | Full Trace Routes Routes match in priority from top to bottom

該当のソースコード

ruby

1routes.rbファイル 2 3Rails.application.routes.draw do 4# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 5 resources :posts, only: %i[new index show create] 6end

ruby

1posts.controller.rbファイル 2 3class PostsController < ApplicationController 4 5 def index 6 @posts = Post.all 7 end 8 9 def new 10 @post = Post.new 11 end 12 13 def show 14 @post = Post.find(params[:id]) 15 end 16 17 def create 18 Post.create(post_params) 19 end 20 21 private 22 23 def post_params 24 params.require(:Post).permit(:name, :title, :body) 25 end 26end

ruby

1new.html.erbファイル 2 3<div class="d-flex align-items-center py-3"> 4 <h1>新規投稿</h1> 5 <div class="ml-auto boards__linkBox"> 6 <div class="btn btn-light"><%= link_to '戻る', posts_path %></div> 7 </div> 8</div> 9<%= form_for @post do |p| %> 10<div class="form-group newitem1"> 11 <%= p.label :name, '名前' %> 12 <%= p.text_field :name, class: 'form-control' %> 13</div> 14<div class="form-group newitem1"> 15 <%= p.label :title, '遺産名' %> 16 <%= p.text_field :title, class: 'form-control' %> 17</div> 18<div class="form-group newitem1"> 19 <%= p.label :body, '本文' %> 20 <%= p.text_area :body, class: 'form-control', rows: 10 %> 21</div> 22<%= p.submit '保存', class: 'btn btn-primary' %> 23<% end %>

ruby

1post.rbファイル 2 3# == Schema Information 4# 5# Table name: posts 6# 7# id :integer not null, primary key 8# body :text 9# name :string 10# title :string 11# created_at :datetime not null 12# updated_at :datetime not null 13# 14 15class Post < ApplicationRecord 16end 17

試したこと

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

Rails 5.2.3

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

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

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

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

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

guest

回答1

0

ベストアンサー

No route matches [POST] "/posts"

と、エラーが返ってきていますので、

HTTP通信 POST で、 [ /posts ] にアクセスしたが、
そのようなルーティングはないということなので、一度ルーティングを確認してみては、
どうでしょうか。

bundle exec rails routes

で確認を行うか、
development 環境でしたら、 http://localhost:3000/rails/info/routes
をブラウザで開くことで、確認が行なえます。

投稿2019/06/04 05:52

fshun

総合スコア261

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問