0

我的 rails 应用程序的页面上有一个 form_for。我希望用户能够从下拉菜单中选择他们想要输入的交易阶段,并让页面以相应的表单(在相应的部分中)进行响应。下面是 form_for 的简化版本。我也有 javascript 在页面加载时隐藏 4 个部分,然后当从选择菜单中选择一个时,显示该部分。

= form_for @activity do |f|
  .field
    = f.label :select_deal_stage
    = f.select(:deal_stage, DEAL_STAGE_ARRAY[], {:selected => nil, :prompt => 'Select Stage'})
  = render "deal_stage_1_partial", :f => f
  = render "deal_stage_2_partial", :f => f
  = render "deal_stage_3_partial", :f => f
  = render "deal_stage_4_partial", :f => f

这里的问题似乎是,当我填写并提交表单时,参数是空白的,大概是因为在 form_for 中重复了这些字段,并且它正在从最后一个字段提交值,或者以某种方式从实际上不是的字段提交值那些被填写的。当从下拉菜单中选择的 deal_stage 成为与表单一起提交的参数之一时,我怎样才能让它工作?

附加信息:部分都不同,但有一些共享字段。参数最终成为所有表单中所有字段的完整列表。

4

1 回答 1

0

我认为你有两个选择:

  1. 以不同的方式命名四组重复字段,例如。如果您有 item_no 字段,请将其命名为 item_no_1、item_no_2、item_no_3 和 item_no_4。然后处理将正确的移动到 item_no。

  2. 一次只渲染四个视图/部分之一。这意味着用户必须在渲染之前选择选项。

祝你好运!

于 2012-06-22T14:13:00.843 回答