邪恶的巫师力量渲染具体步骤

时间:2014-02-06 14:07:21

标签: ruby-on-rails wicked-gem

在rails应用程序中,我使用wicked gem创建向导(https://github.com/schneems/wicked/

我希望保护我的向导并在检查后仅渲染具体步骤。

实际上render_wizard方法只能接受实例:

render_wizard @product

是否有可能以某种方式渲染show动作中允许的步骤? 我需要这样的东西:

if params[:id] == @my_request_model.current_state
  render_wizard
else
  render_wizard @my_request_model.current_state

重定向此处不是一个好主意,因为更新操作已经重定向

1 个答案:

答案 0 :(得分:0)

嗯,您是否尝试在每个向导步骤中为表单添加验证?如果是这样,您可以执行以下操作:

在你的模特中

validate :foo if step_1
validate :bar if step_2

def step_1
  form_progress == 1
end

def step_2
  form_progress == 2
end

添加迁移以向您的模型添加form_progress列。

在每个步骤表单上为hidden_field添加form_progress,并将值设置为该步骤的编号。

f.hidden_field :form_progress, value: 1

因此,如果他们通过验证,用户只能前进到下一步。