我刚刚从3.12迁移到Rails4并使用了FriendlyId,它在Rails 3.12中运行良好 我按照我在http://richonrails.com/articles/friendlyid-and-rails-4#.U6fTOY1_v_4
找到的说明进行操作所以我的gemfile功能:
gem 'friendly_id', '~> 5.0.0'
使用friendly_id 5.0.4
但我不断收到以下错误消息:
NameError: uninitialized constant <Classname>::FriendlyId
对于每个诉诸于FriendlyId的班级
我看到了NameError in SongsController#index uninitialized constant Song::FriendlyId 但就我而言,bundle install不会改变任何东西
答案 0 :(得分:5)
我在Rails 4中遇到了同样的问题 - 我通过重启spring修复了它:
$ spring stop
我再次运行控制台,然后重新开始工作。
答案 1 :(得分:0)
不完全确定没有看到您的代码,但您需要将extend FriendlyId
添加到您的模型中。
class Song < ActiveRecord::Base
extend FriendlyId
friendly_id :foo, use [:slugged, :finders]
end
在此示例中,:foo
是您希望friendly_id
用于创建唯一slug的属性。
答案 2 :(得分:0)
我有同样的问题,在我的情况下,我忘记了这一步:
# Change User.find to User.friendly.find in your controller
User.friendly.find(params[:id])
答案 3 :(得分:0)
确保捆绑后重新启动控制台。