FriendlyId: неопределенный метод `use_slug? ' для ноля: NilClass - PullRequest
0 голосов
/ 07 апреля 2011

Я создаю новую среду помимо производства.Я скопировал все конфигурации из производственной среды, изменив то, что нужно было изменить.

Поскольку серверы запускаются, но когда я делаю запрос, я получаю следующее исключение:

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 Ответ

1 голос
/ 03 мая 2011

Я нашел решение этой проблемы, загрузив сервер, используя производственную среду.Я пытался использовать среду preprod, и как-то FriendlyId не понравилась эта странная среда.Загрузите приложение, используя RAILS_ENV = production, и оно заработало нормально.

Не решение, но, по крайней мере, может двигаться дальше ...

...