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

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

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

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

Q&A

解決済

1回答

2012閲覧

Ruby on Rails 編集機能を追加に関するエラー文について

8070_nn

総合スコア12

Ruby on Rails

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

0グッド

0クリップ

投稿2018/01/22 16:26

編集2018/01/22 16:28

ruby on railsについてのご質問です。
現在ブログ系サイトを作成しているのですが、「Routing Error」が解決できずにいます。

編集に入る画面は「views/page/page_index.html.erb」
編集の投稿画面は「views/page/edit.html.erb」
編集の投稿完了画面は「views/page/update.html.erb」
としています。
DBではblogsにブログに反映するための「id、title.image,content」などが入っています。
DBのarticlesではblogsのidと連携させてblogsが更新すると同じ内容で自動的にブラウザの「title.image,content」が変更するようにしています。
「page_index.html.erb」は編集用のボタンを表示するように作成したものです。
「edit.html.erb」で編集したいブログを選び、編集が完了すると共にDBのblogsも更新する設定を予定しています。
コントローラーとそれをつなぐform_tagの書き方とルートに関しての理解が浅い為このようなことが起こっているのですが、だいぶ混乱しています。。
申し訳ありませんが、何かしらアドバイスを頂ければと思います。

「エラー内容」
イメージ説明

「views/page/page_index.html.erb」

<ul> <li> <%= link_to '編集', "/pages/#{blogs.id}/edit", method: :get %> </li> </ul>

「views/page/edit.html.erb」

<%= form_tag("/peges/#{blog.id}", method: :patch ) do %> <h3 class="newH3">編集する</h3> <input placeholder="Title" type="text" name="title"> <input placeholder="Image Url" type="text" name="image"> <textarea cols="30" name="content" placeholder="text" rows="10"></textarea> <input type="submit" value="SENT"> <% end %>

「pages_controller」

def pages_index @articles = Article.all end def edit @blog = Blog.find(params[:id]) end def update @page_update = Blog.find(params[:id]) if @page_update.id == Blog.id @page_update.update(blog_params) end end

「views/page/update.html.erb」

<div class="endCont inner"> <div class="endSuccess"> <h3 class="endH3">編集が完了しました。</h3> <div class="endbtn"> <a class="endbtnA" href="../">Topへ戻る</a> </div> </div> </div>

「routes.rb」

Rails.application.routes.draw do get 'articles/index' root "articles#index" get 'blogs/new'=>'blogs#new' post'blogs/create' =>'blogs#create' get 'pages/pages_index' => 'pages#pages_index' get 'pages/:id/edit' => 'pages#edit' patch'pages/:id' =>'pages#update' get 'articles/:id'=>'articles#show' resources :blogs do collection do get 'search' end

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

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

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

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

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

guest

回答1

0

ベストアンサー

「views/page/edit.html.erb」の、<%= form_tag("/peges/#{blog.id}", method: :patch ) do %>の箇所で、本来、
<%= form_tag("/pages/#{blog.id}", method: :patch ) do %>
になるはずのところ、"pages"が"peges"になっていませんか?

投稿2018/02/01 11:26

begin1990

総合スコア31

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

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

8070_nn

2018/02/17 03:16

返信が遅くなり申し訳ありません! ありがとうございます!無事解決いたしました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問