2013-08-30 3 views
0

Я использую рельсы 3 с устройством. У меня стандартная форма регистрации пользователя с именем, адресом электронной почты и паролем.Rails Devise Регистрационная форма с информацией о кредитной карте

Мне нужно создать дополнительную регистрационную форму, которая находится на странице ценообразования, где пользователь может регистрироваться с именем, адресом электронной почты, паролем и информацией о кредитной карте.

Должен ли я использовать контроллер регистрации разработки или новую конечную точку? Я попытался указать на регистрацию регистрации # создать конечную точку, но с недопустимым для представления контроллер перенаправляет неверный URL.

Любые предложения о том, как наилучшим образом создать дополнительную страницу регистрации с включенной информацией о подписке на кредитную карту, будут оценены. Спасибо

+0

Возможно, вы можете переопределить форму регистрации стандартного образца и визуализировать дополнительные поля формы, если это необходимо, и не показывать их, если они не нужны? Обычно так, как мне кажется, контроллер должен работать из коробки. – Mattherick

ответ

0

В целом вы должны создать новую модель, связанную с пользователем, которая хранит в нем всю информацию о кредитной карте. Затем вы можете создать определенное действие контроллера, которое обрабатывает пользовательский знак sign_up по умолчанию и включает информацию о кредитной карте в этой новой таблице. например:

внутри контроллера новой модели, UserCreditCardController.rb:

def sign_up_credit_card 
    user = User.create(params[:name], params[:email] ....) 
    UserCreditCard.create(user.id, params[:credit_card_number] ...) 
    sign_in(user) 
end 

Таким образом, не только вы можете решить вашу проблему. Но вы можете добавить поддержку для нескольких кредитных карт, без необходимости публиковать эту информацию в пользовательской модели.

Смежные вопросы