为什么friendly_id不起作用?

时间:2016-04-19 16:50:06

标签: ruby-on-rails ruby ruby-on-rails-4 rubygems

我添加了宝石

'friendly_id', '~> 5.1'

到我的Gemfile和键入的命令:

rails generate friendly_id 
rails generate migration add_slug_to_posts slug:string:uniq

这是我的模特

class Post < ActiveRecord::Base
  extend FriendlyId
  friendly_id :title, use: :slugged,
. . . 
end

和控制器:

class PostsController < ApplicationController
   def show
    @post = Post.friendly.find(params[:id])
    @postCreator = User.find(@post.user_id)
   end
. . .
end

当我尝试加载一些帖子时,我收到错误。但通过rails控制台一切正常。 this is what I get

error

我试图重启服务器。没效果。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的方法。

我修复了它,只是将:finders添加到use:

现在它看起来像:

class Post < ActiveRecord::Base
  extend FriendlyId
  friendly_id :title, use: [:slugged, :finders] 
. . . 
end

我还从.friendly删除Post.friendly.find(params[:id])并仅使用

Post.find(params[:id])

我不知道怎么做,但它帮助了我。

希望它对某人有用。