我想做一个多步骤的表格来获取新信息。一页我要收集姓名/联系信息,下一页我要收集病史,第三页人口统计信息。
我已经安装了 Wizard gem 并生成了一个专用控制器。我在上面看到的所有教程都适用于设计和注册过程,所以我对控制器操作和实例变量以及我应该如何编写它们有点迷茫。
想知道是否有人有除了注册之外的教程,这可能会帮助我学习如何将这一切连接起来。
任何指针或帮助表示赞赏。
编辑:
我认为我的问题出在我的向导的控制器中。
在演示和更新操作中,演示显示声明变量
@user = current_user
这很好,但它是我不需要的辅助方法。我需要创建一个患者,将患者 ID 存储在一个会话中,我在我的主患者控制器的创建操作中执行该会话。然后以某种方式将其传递给 patientsteps 控制器。
这是我在耐心步骤中尝试过的
class PatientstepsController < Wicked::WizardController
before_filter :authenticate_user!
steps :medical, :summary
def show
@patient = Patient.find(params[:patient_id])
render_wizard
end
def update
@patient = Patient.find(params[:id])
@patient.attributes = params[:patient]
render_wizard @patient
end
end
当我这样做时,我无法找到没有 ID 的患者。我知道我做错了,但我不确定如何传入在我的患者控制器创建操作中创建的患者 ID。
患者控制器创建:
def create
@patient = Patient.new(params[:patient])
if @patient.save
session[:patient_id] = @patient.id
redirect_to patientsteps_path, notice: "Patient was successfully created."
else
render :new
end
end