尝试使用Wicked gem创建一个2步向导。 每一步都进入不同的模型。首先是用户模型,第二个是配置文件。用户有很多个人资料。
我能够成功完成第一步。个人'在哪里我要求他们添加他们的电子邮件。然而,当我尝试创建第二步时,我得到:
No route matches [POST] "/user_steps/profile"
我想要做的是创建一个current_user.profiles.new。
这是我的控制器代码:
class UserStepsController < ApplicationController
include Wicked::Wizard
steps :personal, :profile
def show
@user = current_user
case step
when :profile
@profile = current_user.profiles.new
end
render_wizard
end
def update
@user = current_user
case step
when :personal
@user.update_attributes(personal_params)
when :profile
@profile = current_user.profiles.new(profile_params)
if @profile.save
redirect_to root_url
else
redirect_to :back
end
end
render_wizard @user
end
private
def personal_params
params.require(:user).permit(:email)
end
def profile_params
params.require(:profile).permit(:followers)
end
end
个人资料表单很简单,如下所示:
<%= form_for @profile, url: wizard_path do |f| %>
<%= f.text_field :followers %>
<%= f.button %>
<% end %>