【问题标题】:wicked wizard passing arguments to steps邪恶的向导将参数传递给步骤
【发布时间】:2013-03-11 15:49:54
【问题描述】:

我想为客户下订单制定一个流畅的简化流程。 我觉得完成这项工作的最佳工具是向导——除非有其他建议?

我需要将参数传递给我的向导中的后续步骤。

我的控制器如下所示:

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 传递给自定义步骤,以便向导的下一部分可以工作。

我该怎么做?

谢谢

【问题讨论】:

    标签: process wizard


    【解决方案1】:

    可以在step参数后面的url中传递参数。

    wizard_path(:step_1, item: item)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-11
      • 2014-09-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2022-08-14
      • 2017-01-15
      • 1970-01-01
      相关资源
      最近更新 更多