2014-02-06 30 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 

這樣,用戶只有通過驗證才能進入下一步。