What is usually a simple error with a simple solution, I seem to be stuck:
posts#controller:
class PostsController < ApplicationController
def index
@posts = Post.all
end
def show
@post = Post.find params[:id]
end
def new
@post = Post.new
end
def create
@post = Post.create post_params
if @post.save
redirect_to posts_path, :notice => "Your post was saved!"
else
render 'new'
end
end
private
def post_params
params.require(:post).permit(:title, :content)
end
def edit
@post = Post.find params[:id]
end
def update
@post = Post.find params[:id]
if @post.update_attributes params[:post]
redirect_to posts_path
else
render 'edit'
end
end
def destroy
@post = Post.find params[:id]
@post.destroy
redirect_to posts_path, :notice => "Your post has been deleted"
end
end
routes.rb:
Blog::Application.routes.draw do
resources :posts
end
rake routes:
Prefix Verb URI Pattern Controller#Action
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PATCH /posts/:id(.:format) posts#update
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
posts view, index.html.slim:
h1 Blog
- @posts.each do |post|
h2 = link_to post.title, post
p = post.content
p = link_to 'Edit', edit_post_path(post)
p = link_to 'Delete', post, :confirm => "Are you sure?", method: :delete
br
p = link_to 'Add a new post', new_post_path
Yet I continue to get an error inside the browser showing:
Unknown action, The action 'destroy' could not be found for PostsController
I seem to be getting a few of these basic problems since I updated to Rails 4, probably a minor oversight, anyone got any ideas?