2017-11-01 3 views
-1

エラー:このエラーは何ですか?ArticlesController#showのActiveRecord :: StatementInvalid?

SQLite3::SQLException: no such column: articles.slug: SELECT "articles".* FROM "articles" WHERE "articles"."slug" = '33' ORDER BY "articles"."id" ASC LIMIT 1 

コード:

def show 
    @article = Article.friendly.find(params[:id]) 
    @category = Category.find(@article.category_id) 
    @comment = Comment.new 
end 
+0

私は友好的と呼ばれる宝石を使用しようとしていますし、私はshowアクションでフレンドリーなキーワードを使用しています誰かが私を解決することができます私はこの –

+0

のようなエラーを取得していますが行くようになりまし良いランrake db:migrateエラー? –

+0

生成された移行を含むことを忘れている可能性があります。 'rails generate friendly_id'を実行してから' rails db:migrate'を実行してください。 docs [here](https://github.com/norman/friendly_id)を参照してください。 – 31piy

答えて

0

@article = Article.friendly.find(params[:id])

あなたはそれを作成する必要がありますし、あなたが作成しますので、これはデータベースのarticles表にslug列を検索しますそうするための移行。

$ rails g migration add_slug_to_articles slug:string 

それは、レコードの検索に使用されるように、この属性のindexを追加することをお勧めします。

class AddSlugToArticles < ActiveRecord::Migration 
    def change 
    add_column :articles, :slug, :string 
    add_index :articles, :slug 
    end 
end 

@article = Article.friendly.find(params[:id]) 
+0

はい、それは記事のIDを記事のIDのinsted ..... .....何を行うのですか? –

+0

@ Shivakumara mあなたは 'show'アクションにどのように来ているのか教えていただけますか?' link_to'を使用している場合は、それをリダイレクトする 'url'がアクションを表示しています。 'link_to ....'を共有してください。 – Gabbar

+0

この例のように使うべきです。 '<%= link_to '記事'、article_path(id:article.slug)%>' 'article.slug'を'id'属性 – Gabbar

関連する問題