2014-11-22 4 views
2

Это был кошмар, пытающийся интегрировать эти два.Использование Wicked with Devise

Обновление:

UsersController.rb

class UserStepsController < ApplicationController 
    include Wicked::Wizard 
    steps :confirm_password 

    def show 
    render_wizard 
    end 

    def update 
    render_wizard 
    end 

end 

RegistrationsController (разработать)

class RegistrationsController < Devise::RegistrationsController 
def new 
    super 
end 

def create 
    super 
end 

protected 
    def users_steps_path(resource) 
     '/user_steps' 
    end 
end 

confirm_password.html.erb (вид)

<%= form_for @user, url: wizard_path do |f| %> 
    <%= f.password_field :password_confirmation %> 

    <%= f.submit "Change Password" %> 
<% end %> 

routes.rb

resources :user_steps 

регистрация/new.html.erb (регистрация)

<div class="styled email-input2"> 

<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> 
    <%= devise_error_messages! %> 

<div><%= f.email_field :email, autofocus: true, placeholder: "Email", class: "email-input" %></div> 

<div><%= f.text_field :username, autofocus: true, placeholder: "Username", class: "email-input" %></div> 

<div><%= f.password_field :password, autocomplete: "off", placeholder: "Password", class: "email-input" %></div> 

<div><%= f.password_field :password_confirmation, autocomplete: "off", placeholder: "Password confirmation", class: "email-input" %></div> 


</div> 
    <div class="get_motivated2"> 
    <%= f.submit "Sign up", class: "get_motivated btn-danger" %> 
    <% end %> 
    </div> 


</div> 

Это то, что я до сих пор, но когда я подписываю -up с разработкой, он просто меня вставляет в систему. Он не подходит к шагу: confirm_password. Не уверенный, что я делаю неправильно здесь, я следовал за Ryan Bates учебником по railscasts, но он не использует Devise, который отбросил меня немного.

+0

Просьба уточнить. Что ты пытаешься сделать? И в чем проблема? – Hoa

+0

Я не знаю, где поставить redirect_to user_steps_path (: billing) шаг в контроллере регистрации .. это чрезвычайно сложно. Пожалуйста, помогите –

+0

Я предлагаю вам описать мастер, который вы пытаетесь реализовать с помощью злого. Покажите код шага, с которым вы столкнулись. Дополнительная информация означает, что у вас больше шансов заставить людей решить проблему. Это примерный вопрос с подробной информацией http://bit.ly/1qLjARf – Hoa

ответ

1

Я предполагаю, что вы хотите сделать следующее: после того, как пользователь заполнит форму для регистрации (запись пользователя еще не создана на этом шаге), пользователь перенаправляется на страницу, где она еще раз подтверждает свой пароль перед созданием учетной записи пользователя.

При отправке формы регистрации на адрес registration_path(resource_name), разработчик создаст новую запись пользователя и зарегистрирует вас. Место, где вы должны отправить всю информацию о пользователе, чтобы создать учетную запись пользователя, находится в confirm_password.html.erb. Отправка формы регистрации должна просто хранить данные (это делается с помощью wicked) и перенаправить пользователя на страницу подтверждения пароля.

Надеюсь, это поможет.

+0

Спасибо @ Хоа, это поможет! Постарайтесь представить пример того, как этот код будет искать мой случай? –

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