どなたかお知恵を貸してください。
Cloud9で簡単なブログを作成しています。
記事作成はできるのですが、プレビュー画面から記事編集・削除を行おうとすると、ルーティングエラーが発生します。
**ただ、元のページに戻って画面を更新すると、編集内容は反映されています。削除の場合も同じです。
**
コードは次の通りです。
controller↓
class BlogsController < ApplicationController def index @blogs = Blog.all end def new @blog = Blog.new end def create Blog.create(blogs_params) redirect_to blogs_path, notice:"ブログを作成しました!" end def edit @blog = Blog.find(params[:id]) end def update @blog = Blog.find(params[:id]) @blog.update(blogs_params) redirect_to blog_path, notice:"ブログを編集しました!" end def destroy @blog = Blog.find(params[:id]) @blog.destroy redirect_to blog_path, notice:"ブログを削除しました!" end private def blogs_params params.require(:blog).permit(:title, :content) end end
routes↓
Rails.application.routes.draw do resources :blogs, only: [:index, :new, :create, :edit, :update, :destroy] end
view↓
<p><%= notice %></p> <h2>ブログ一覧</h2> <% @blogs.each do |blog| %> <p>タイトル:<%= blog.title %></p> <p>本文:<%= blog.content %></p> <%= link_to("ブログを編集する", edit_blog_path(blog.id), data:{confirm: '本当に編集していいですか?'}) %> <%= link_to("ブログを削除する", blog_path(blog), method: :delete, data:{confirm: '本当に削除していいですか?'}) %> <% end %> <%= link_to "ブログを作成する", new_blog_path %>
自分では原因が見つけ切れませんでした…
素人質問ですが、どうぞよろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/08/08 05:34