Ruby on rails 用同一模型以同一形式处理不同参数

Ruby on rails 用同一模型以同一形式处理不同参数,ruby-on-rails,forms,ruby-on-rails-4,rails-activerecord,Ruby On Rails,Forms,Ruby On Rails 4,Rails Activerecord,假设我有一个问题和限制模型类。问题有许多限制,并接受限制的嵌套属性。 约束模型表示一个数学表达式,如: X

假设我有一个
问题
限制
模型类。问题有许多限制,并接受限制的嵌套属性。 约束模型表示一个数学表达式,如:

  • X<1

  • 1您可以使用空数组设置输入的名称:

    number_field_tag 'problem[restrictions][1][]', 0
    number_field_tag 'problem[restrictions][1][]', 5
    
    然后在ProblemController中,您应该接收如下参数:

    params[:problem][:restrictions][1]
    # => contains the 2 values serialized as array
    
    因此,完整的表格将是:

    X < 
    <%= number_field_tag 'problem[restrictions][0]', 0 %>
    
    <%= number_field_tag 'problem[restrictions][1][]', 0 %>
    <= X <=
    <%= number_field_tag 'problem[restrictions][1][]', 5 %>
    
    <%= number_field_tag 'problem[restrictions][2]', 0 %>
    < X
    
    X<
    
    如果没有您的
    限制模式
    ,就无法判断。我的答案有用吗?我现在就试试
    params = {
      problem: { #all the Problem attributes filled in the form },
      restrictions: 
      [
        <value of first input>,
        [<value of second input>, <value of third input>],
        <value of fourth input>
      ]
    }