【发布时间】:2016-02-02 12:46:42
【问题描述】:
我正在尝试使用 Wicked gem 设置多表单登录系统。执行以下步骤时,我的设计已安装并正常运行:http://railscasts.com/episodes/346-wizard-forms-with-wicked。
我没有被重定向到 user_step_paths?一切都按照教程中的说明完成,但是,我猜是因为我使用的是设计,所以我需要在设计继承的控制器中进行操作?我的控制器代码如下:
users_controller.rb
class UsersController < Devise::RegistrationsController
def new
@user = User.new
end
def create
@user = User.new(params[:sign_up])
if @user.save
session[:user_id] = @user.id
redirect_to user_steps_path
else
redirect_to new_user_registration_path
end
end
end
users_steps_controller.rb
class UserStepsController < ApplicationController
include Wicked::Wizard
steps :education, :social
def show
render_wizard
end
end
路线
get 'pages/home'
devise_for :users, :controllers => { :registrations => 'users'}
resources :user
resources :user_steps
【问题讨论】:
-
你能确定创建动作是否被击中吗?尝试在 create 方法的开头添加“raise 'creating user..'”,看看是否在浏览器中引发错误。如果是这样,请将其取出,然后在尝试保存用户时检查是否有任何错误:“raise @user.errors.messages”。把它放在 redirect_to new_user_registration_path 行之前。
-
当您尝试发送注册表单时,您会登录吗?还是显示任何错误?
-
能否请您添加您的注册表单?我需要检查表单发送数据的路径。
标签: ruby-on-rails devise wicked-gem