2014-02-06 31 views
0

在Rails应用程序我用邪恶的宝石创建向导(https://github.com/schneems/wicked/邪恶的精灵力呈现具体步骤

我想保护我的向导,使检查后,只有一个具体步骤。

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

render_wizard @product 

是否有可能以某种方式呈现在显示动作只允许一步? 我需要这样的东西:

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

重定向这里是不是一个好主意,因为更新的行动已经使重定向

回答

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列添加到您的模型。

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

f.hidden_field :form_progress, value: 1 

这样,用户只有通过验证才能进入下一步。