Ich arbeite an einem Projektblog von mir. Ich bin ein Neuling Entwickler mit Ruby on Rails ....NoMethodError in BlogsController # show
Ich bin eine schlüsselnde Juwel installieren und dann installiert die Devise Juwel für auth .. Ich denke, das ist ein Auth-Fehler, aber ich habe keine Ahnung, was wirklich passiert. Ich kann den Post auf meiner Indexansicht anzeigen lassen, aber wenn ich versuche, auf den Link zur Show-Ansicht zu klicken, zeige ich diesen Fehler an ... Bitte Hilfe !!!
Unten ist mein Controller, Routen und Modell ....
Der Fehler, den ich halten, ist immer
NoMethodError in BlogsController # zeigen
case filter when Symbol lambda { |target, _, &blk| target.send filter, &blk } when String l = eval "lambda { |value| #{filter} }" lambda { |target, value| target.instance_exec(value, &l) } ......
mein Controller
class BlogsController < ApplicationController
before_action :set_blog, only: [:show, :edit, :update, :destroy]
before_action :authenticate_user!, only: [:new, :create, :edit, :update, :destroy]
def index
@blog = Blog.all
end
def new
@blog = Blog.new
end
def create
current_user.blogs.create(blog_params)
redirect_to blogs_path
end
def show
@blog = Blog.friendly.find(params[:id])
end
def edit
@blog = Blog.friendly.find(params[:id])
if @blog.user != current_user
return render text: 'Not Allowed', status: :forbidden
end
end
def update
@blog = Blog.friendly.find(params[:id])
if @blog.user != current_user
return render text: 'Not Allowed', status: :forbidden
end
@blog.update_attributes(blog_params)
redirect_to root_path
end
def destroy
@blog = Blog.friendly.find(params[:id])
if @blog.user != current_user
return render text: 'Not Allowed', status: :forbidden
end
@blog.destroy
redirect_to root_path
end
private
def blog_params
params.require(:blog).permit(:name, :description)
end
end
WEGE
Rails.application.routes.draw do
devise_for :users
resources :blogs
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
root 'portfolio#index'
end
MODEL
class Blog < ApplicationRecord
extend FriendlyId
friendly_id :name, use: :slugged
belongs_to :user
end