2013-03-11 39 views
1

我想簡化流程以放置客戶訂單。 我覺得最好的工具是一個嚮導 - 除非有其他建議嗎?邪惡嚮導將參數傳遞給步驟

我需要將參數傳遞給我的嚮導中的下一個步驟。

我的控制器看起來是這樣的:

include Wicked::Wizard 
steps :item, :customization, :upsell 

def show 
# @order_session_id = params[:order_session_id] 

@order = Order.new 
@order.order_session_id = params[:order_session_id] 

case step 
when :item 
    @items = Item.all # change with group... 
when :customization 
    # item = Item.find(@order.item_id) 
    # item = Item.find(params[:item_id]) 
    item = Item.find(1) 
    @customizations = item.customizations.split("|") 
when :upsell 
    @upsells = Upsell.find_all_by_group_id(item.group_id) 
end 

render_wizard 
end 

def update 
    @order_session_id = params[:order_session_id] 
    @order.attributes = params[:order] 
    render_wizard @order 
end 

對項目的看法是這樣的:

<%= form_for @order, url: wizard_path(:customization), :method => :get do |f| %> 

    <table border="1"> 
    <% @items.each do |item| %> 
    <tr>   
     <td class="item_selection" onclick="$(this).children('input').attr('checked', 'checked');return false;"> 
      <%= f.label :item_id, "#{item.name}" %> 
      <%= f.radio_button(:item_id, item.id) %> 
     </td> 
    </tr> 
    <% end %> 
    </table> 

    <div class="actions"> 
    <%= f.submit "Continute" %> 
    </div> 

<% end %> 

我需要選擇通過ITEM_ID到定製步驟,這樣的下一部分嚮導可以工作。

我該怎麼做?

謝謝

回答

0

您可以在step參數後面傳遞參數。

wizard_path(:step_1, item: item)