rails3 authlogic-connect неизвестный атрибут: oauth_provider - PullRequest
0 голосов
/ 31 марта 2011

Я пытаюсь использовать плагин authlogic-connect для добавления поддержки oauth в мое веб-приложение, но получаю сообщение об ошибке:

unknown attribute: oauth_provider

когда вызывается UsersController # create. Не удается, когда я пытаюсь создать нового пользователя из параметров, которые передаются в:

@user = User.new(params[:user])

Конечно, параметры включают этот атрибут:

Parameters:

{"utf8"=>"✓",
 "authenticity_token"=>"lHX2BTFTd5xITTfY/X8A9R3vca3YaRuHFoWdqy8ZPik=",
 "user"=>{"oauth_provider"=>"linkedin"},
 "commit"=>"LinkIn"}

Из документации я предположил, что это то, что вы должны делать:

Second, if you are using Oauth, you must include an input with name oauth_provider 
and value twitter or whatever other provider you might want (see example apps for 
dynamic example).

Есть идеи, как это должно работать? Все примеры форм в yaml - чего я не знаю - и я пытаюсь создать это с помощью встроенного кода ruby. Вот форма, которую я использую:

<!-- authlogic-connect hack -->
<%= form_for @user do |f| %>
<%= f.radio_button(:oauth_provider, "linkedin") %>
<%= f.label(:oauth_provider_linkedin, "Link In Fool") %>
<%= f.submit :value => "LinkIn" %>
<% end %>

1 Ответ

0 голосов
/ 01 апреля 2011

Как отметил Дмитрий, лучший ответ на этот вопрос - использовать devise + omniauth вместо того, чтобы пытаться заставить автора работать.Authlogic просто не поддерживает рельсы3.Я провел, по крайней мере, неделю, пытаясь заставить автора работать так, как я хотел, и я никогда не решал проблему.Затем я потратил несколько часов на то, чтобы devise + omniauth делал именно то, что я хочу (т.е. вы можете создать учетную запись в LinkedIn или сразу, и вы можете связать их вместе, чтобы вы могли войти в LinkedIn или с помощью электронной почты и пароля для того же пользователя).счет).

...