Я использую Authlogic с аддоном Authlogic-openid (I gem установлен ruby- openid и скрипт/плагин установите git: //github.com/rails/open_id_authentication.git) и получите две ошибки.Authlogic openid: получение неопределенного метода openid_identifier? ошибка в функциональном тесте
Сначала при запуске функционального теста я получаю неопределенный метод openid_identifier? сообщение в строке в файле new.html.erb, когда запускает UserControllerTest. Линия:
<% if @user.openid_identifier? %>
При запуске сценария/консоли можно получить доступ к этому методу без проблемы.
Во-вторых, когда тестирование функциональности OpenId и регистрации нового пользователя моего приложения с использованием OpenID и с помощью моего Blogspot счета для , что я получаю следующее в моем файле журнала:
Generated checkid_setup request to http://www.blogger.com/openid-server.g
with assocication ...
Redirected to http://www.blogger.com/openid-server.g?openid.assoc_handle=...
NoMethodError (You have a nil object when you didn't expect it!
The error occurred while evaluating nil.call):
app/controllers/users_controller.rb:44:in `create'
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
код в users_controller прямо вперед:
def create
respond_to do |format|
@user.save do |result|
if result
flash[:notice] = t('Thanks for signing up!')
format.html { redirect_to :action => 'index' }
format.xml { render :xml => @user, :status => :created, :location => @user }
else
format.html { render :action => "new" }
format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
end
end
end
end
линия дает ошибку будучи @ user.save сделать | результат | ...
Я чувствую, что мне не хватает чего-то довольно элементарного, но я слишком долго смотрел на , потому что я не могу найти, что это такое. Я проверил код в эпизодах Railscasts 160 и 170 и проект GitHub кости , но ничего не нашел.
Спасибо за вашу помощь, USR
Да, я использую декларативную авторизацию и линии filter_resource_access находится в верхней части users_controller.rb. Даже если я добавлю @user = User.new (params [: user]) перед сохранением я получаю ту же ошибку. Я думал, что это может быть тот факт, что я использую blogger как провайдер openid, но если я использую openid.org, я все равно получаю ту же ошибку. –