【发布时间】: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 传递给自定义步骤,以便向导的下一部分可以工作。
我该怎么做?
谢谢
【问题讨论】: