FriendlyId:未定义的方法`use_slug?'为零:NilClass

时间:2011-04-07 13:55:28

标签: ruby-on-rails friendly-id

我正在创造一个除生产之外的新环境。我复制了生产环境中的所有配置,更改了需要更改的内容。

因为服务器确实启动了,但是当我进行查询时,我得到了这个例外:

NoMethodError (undefined method `use_slug?' for nil:NilClass):
  vendor/gems/friendly_id-2.3.4/lib/friendly_id/active_record2/finders.rb:65:in `slugged?'
  vendor/gems/friendly_id-2.3.4/lib/friendly_id/active_record2/finders.rb:43:in `finder_class'
  vendor/gems/friendly_id-2.3.4/lib/friendly_id/active_record2/finders.rb:37:in `finder'
  vendor/gems/friendly_id-2.3.4/lib/friendly_id/active_record2/finders.rb:32:in `method_missing'
  vendor/gems/friendly_id-2.3.4/lib/friendly_id/active_record2/slugged_model.rb:149:in `find_one'
  app/controllers/home_controller.rb:5:in `index'

有问题的一行是这样的:

@page = Page.find("home")

我正在使用FriendlyId 2.3.4和Rails 2.3.4。生产环境的代码是相同的,并且它在那里工作得很好,所以我不确定这里发生了什么......我可以看到引发异常的行

friendly_id_config.use_slug?

因此,我不知道friendly_id_config是nil。

感谢您对此问题的任何指导

1 个答案:

答案 0 :(得分:1)

我通过使用生产环境加载服务器找到了解决此问题的方法。 我试图使用'preprod环境,不知怎样,FriendlyId不喜欢那种奇怪的环境。 使用RAILS_ENV = production加载应用程序,它运行正常。

不是解决方案,但至少可以继续......