Попытка реализовать Stripe Connect, и я получаю следующую ошибку, когда я нажимаю кнопку «подключиться к полосе».LoadError в OmniauthCallbacksController # passthru (с подключением devise/stripe)
Действие 'PassThru' не может быть найдено для OmniauthCallbacksController
пользователей/omniauth_callbacks_controller.rb
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def stripe_connect
@user = current_user
if @user.update_attributes({
provider: request.env["omniauth.auth"].provider,
uid: request.env["omniauth.auth"].uid,
access_code: request.env["omniauth.auth"].credentials.token,
publishable_key: request.env["omniauth.auth"].info.stripe_publishable_key
})
# anything else you need to do in response..
sign_in_and_redirect @user, :event => :authentication
set_flash_message(:notice, :success, :kind => "Stripe") if is_navigational_format?
else
session["devise.stripe_connect_data"] = request.env["omniauth.auth"]
redirect_to new_user_registration_url
end
end
end
модели/user.rb
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :omniauthable, :omniauth_providers => [:stripe_connect]
routes.rb
devise_for :users, controllers: { registrations: 'users/registrations', :omniauth_callbacks => "users/omniauth_callbacks" }
gemfile.rb
gem 'omniauth-stripe-connect'
Инициализаторы/stripe.rb
Rails.configuration.stripe = {
:publishable_key => ENV['PUBLISHABLE_KEY'],
:secret_key => ENV['SECRET_KEY']
}
Stripe.api_key = Rails.configuration.stripe[:secret_key]
Инициализаторы devise.rb
config.omniauth :stripe_connect,
ENV['STRIPE_CONNECT_CLIENT_ID'],
ENV['STRIPE_SECRET_KEY'],
:scope => 'read_write',
:stripe_landing => 'register'
кнопка/ссылка:
<%= link_to image_tag('blue-on-light.png'), user_stripe_connect_omniauth_authorize_path(:stripe_connect) %>
Как я понимаю с моим noob Ruby mind, я урожденный d определить «passthru»? как мне его определить? когда я ввожу:
def passthru
end
ссылка не работает/страница перезагружается сама. Не удалось найти решение здесь. Что мне не хватает?
EDIT:
изменил мою Подключитесь к Stripe ссылку:
<%= link_to image_tag('blue-on-light.png'), "https://stackoverflow.com/users/auth/stripe_connect" %>
Ссылку берет меня к соединиться с полоской страницы, но при нажатии на кнопку «подключиться к нашивку», страница не может быть найден и не загружается и не перенаправляется.
только что сделал некоторые подобные изменения, как вы писали. Я изменил свой маршрут и пользователь/OmniauthCallbacksController.rb, но теперь я просто получаю сообщение об ошибке: Не найден. Аутентификация passthru. – ChrisJC2017
вам также может потребоваться установить поставщика omniauth в пользовательской модели http://stackoverflow.com/a/22246487/522897, для вашего провайдера omniauth_providers: [: stripe_connect] –
Пробовал это и добавил выше в деталях вопроса. такая же ошибка сохраняется. – ChrisJC2017