У меня проблемы с использованием омниаута и твиттера для создания твитов.
Я использовал этот учебник http://blog.assimov.net/post/2358661274/twitter-integration-with-omniauth-and-devise-on-rails-3
и я могу войти в систему с помощью твиттера, генерировать аутентификации, но не могу обновить твиты.
current_user.twitter.update("My Rails 3 App with Omniauth, Devise and Twitter")
Эта строка жалуется на обновление метода.
Что меня смущает в приведенном выше учебнике, так это то, что в начале они генерируют миграцию для хранения секрета в аутентификациях, но нигде в руководстве не упоминается об изменении кода для записи секрета в базу данных
Мое понимание состоит в том, что секрет получается из хеша omniauth, который хранится в файле cookie сеанса. Что мне здесь не хватает?
def hash_from_omniauth(omniauth)
{
:provider => omniauth['provider'],
:uid => omniauth['uid'],
:token => (omniauth['credentials']['token'] rescue nil),
:secret => (omniauth['credentials']['secret'] rescue nil)
}
end
Таким образом, кажется, что все работает, кроме создания клиента Twitter, следовательно, не имеет доступного метода обновления?
current_user.twitter.update("first tweet")
Методом Twitter следует создать клиент Twitter
def twitter
debugger
unless @twitter_user
provider = self.authentications.find_by_provider('twitter')
@twitter_user = Twitter::Client.new(:oauth_token => provider.token, :oauth_token_secret => provider.secret )rescue nil
end
@twitter_user
конец
Извините, я не очень хорош в объяснении проблемы. Любая помощь с благодарностью.
Спасибо
L