2017-08-15 27 views
0

私は私のプロジェクトブログに取り組んでいます。私はRuby on Railsを使っている初心者の開発者です。NoMethodError in BlogsController#show

私はslugging gemをインストールし、次に偽造宝石をインストールしました..私はこれは認証エラーだと思いますが、実際に何が起こっているのか分かりません。私は私のインデックスビューに表示する投稿を得ることができますが、私はショービューへのリンクをクリックしようとすると、このエラーが表示されます...助けてください!以下は

私のコントローラ、ルートやモデルです....

私は入れませんエラーがマイCONTROLLER

BlogsControllerの#ショーでNoMethodError

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) } 
...... 

です

あなたは優しいのid宝石を使用しているように見えます

ROUTES

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 

答えて

0

、あなたが適切に宝石に応じて、あなたのブログのモデルが設定されていることを確認してくださいreadmeを実行し、移行を実行してモデルにslugフィールドを含めます。

あなたはスラッグせずに前のレコードを持っている場合にも、あなたのレールのコンソールを開き、実行します。

Blog.find_each(&:save) 
関連する問題