我正在 Rails 3.2.3 中构建一个 Booking 模型,用户可以在其中逐步完成多个表单屏幕的选择。如果表单完全反映了我知道的基础模型,我可以使用 gem(例如 Wicked gem)来构建多步骤表单。我遇到的问题是,在其中一个表单屏幕上有多个用户选项,并且在每个选项中都有来自外部 Web 服务的多个选项。换句话说,在多步骤流程的第 2 步中,表单向用户提供了来自我们数据库的许多费率选项,并且对于每个费率,我们都有来自网络服务的多个附加选项。因此,用户需要从网络服务(单选按钮)中选择一个选项,然后选择他们的选择率。
我不确定最佳实践的地方是,我可以将 Web 服务中的多个选项显示为单选按钮,但是每个选项都有一个哈希值,因此与每个单选按钮相关联。
所以,问题是,我应该尝试将该哈希作为参数传递给表单过程的下一步,还是应该将它变成一个对象并完全传递它或其他东西!
我知道这是一个很长的解释,但我觉得这是这个工作流程设计的一个关键点,我想把它做好。
提前谢谢了,
J。
编辑
再想一想,最初的问题是当每个单选按钮代表许多值而不是说一个 id 时,如何表示一系列单选按钮(在这种情况下,每个单选按钮代表来自外部 Web 服务的值的哈希值)。是否应该将散列变成一个对象,然后通过它来代替 - 沿着这些思路?