NoMethodError при попытке использовать open_id_authentication - PullRequest
2 голосов
/ 16 января 2011

В настоящее время я добавляю поддержку входа в систему OpenID для приложения Rails 3.0.0.

Я уже установил ruby-openid (драгоценный камень) и open_id_authentication (плагин). Однако после выполнения шагов, необходимых для настройки обоих (из README), я все еще получаю эту ошибку:

undefined method `authenticate_with_open_id'

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

Я что-то упускаю из виду? Что вызывает эту проблему? Обратите внимание, что у меня не было проблем с переключением на файловые хранилища в environment.rb, поэтому я уверен, что плагин установлен правильно.

Обновление: некоторые нерешенные проблемы того же характера:

http://railsforum.com/viewtopic.php?id=23151

1 Ответ

0 голосов
/ 08 января 2015

Испытывает похожую ошибку;странно, у меня это работает на Rails 3.2 в другой ветке, и я не могу понять разницу;во всяком случае, я обнаружил, что получил немного больше, предложив следующие предложения: Rails 3.0.9 + open_id_authentication

То есть добавление строки include OpenIdAuthentication после class SessionsController < ApplicationController:

class SessionsController < ApplicationController
  include OpenIdAuthentication

Но теперь я получаю Completed 401 Unauthorized в своем журнале и вижу пустую страницу - просто и теги.Тьфу.

Обновление: Ой, получил дальше;Я следовал за этим сообщением: open_id_authentication - "OpenIdAuthentication.store - ноль. Используя хранилище в памяти."проблема

и, как они предложили, «добавил инициализатор с именем config / initializers / openid.rb с этим внутри»:

require 'open_id_authentication' # this was needed, but not described in the referred-to post
OpenIdAuthentication.store = :file

Затем меня направили к провайдеру OpenId исмог нажать «разрешить», но, вернувшись к своему приложению, я теперь вижу:

NoMethodError in SessionsController#create
undefined method `encoding' for nil:NilClass

Во всяком случае, наконец, я нашел проблему с маршрутами отдыха и исправил ее, и теперь вход в систему работает!

...