Я придумал лучший способ сделать это, и решил, что мне следует обратиться к сообществу за некоторыми идеями / ясностью.
в основном из одного контроллера платежей, я хочу иметь возможность обрабатывать различныеварианты оплаты, которые может выбрать пользователь.например, мой контроллер получает сообщение с запросом :payment_option => paypal
.я хочу выдать логику для обработки определенных операций PayPal, а затем вернуть контроллеру URL (для PayPal) для перенаправления.
Я делал params[:payment_option].constantize
для инициализации класса Paypal, нопроблема, с которой я столкнулся, была не в состоянии получить доступ к различным частям данных, которые требуются PayPal (например, текущая информация о пользователе, IP-адрес запроса, данные cookie, URL-помощники и т.модуль, но как включить правильный модуль оплаты программно?и казалось, что я могу неправильно использовать концепцию модуля, потому что я буду использовать модуль для определенной логики, а не для общей логики.
, поэтому, если пользователь вместо этого выбирает Google Checkout, контроллер независимо от способа оплаты, нужны только общие инструкции
принимать параметры [: payment_option] получать payment_option_url получать payment_option_response
есть какие-нибудь мысли о хорошем подходе к выполнению чего-либо подобного?Я сталкивался с подобными сценариями в прошлом, но никогда не был уверен, что это был лучший маршрут.