Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails中具有简单形式的If语句_Ruby On Rails_If Statement_Simple Form - Fatal编程技术网

Ruby on rails Rails中具有简单形式的If语句

Ruby on rails Rails中具有简单形式的If语句,ruby-on-rails,if-statement,simple-form,Ruby On Rails,If Statement,Simple Form,我在Rails 4应用程序中使用简单表单 我有一个项目模型、一个范围模型和一个数据模型 项目接受范围的嵌套属性。作用域接受数据的嵌套属性 在新的项目表单中,我有一个问题,要求用户指定他们项目的范围。如果他们检查范围内需要的数据是否为真,那么我想展示另一组关于数据的问题 在我的新项目表单中,我为范围嵌套了以下问题,以检查项目范围是否包含数据: <%= f.simple_fields_for :scopes do |s| %> <%= s.input :d

我在Rails 4应用程序中使用简单表单

我有一个项目模型、一个范围模型和一个数据模型

项目接受范围的嵌套属性。作用域接受数据的嵌套属性

在新的项目表单中,我有一个问题,要求用户指定他们项目的范围。如果他们检查范围内需要的数据是否为真,那么我想展示另一组关于数据的问题

在我的新项目表单中,我为范围嵌套了以下问题,以检查项目范围是否包含数据:

 <%= f.simple_fields_for :scopes do |s| %>
            <%= s.input :data, :as => :boolean, :label => false, :inline_label => true   %>
            <%= s.input :materials, :as => :boolean, :label => false,  inline_label: 'Equipment or materials' %>

            <% end %>
然后我有一个if语句,如果上面的初始范围问题是真的,我想用它来显示关于数据需求的进一步问题。它们的形式相同。这些问题的属性在数据表中:

 <% if :data == true %>
        <div class="headerquestion-project">Data request</div>

        <%= f.simple_fields_for :datum do |d| %>
            <% render %>
            <%= d.input :prim_sec, label: 'What sort of data do you want?', label_html: {class: 'dataspace'}, collection: ["Primary", "Secondary", "Both" ], prompt: "Choose one" %>
            <%= d.input :qual_quant, label: 'Do you need qualitative or quantitative data?', label_html: {class: 'dataspace'}, collection: ["Qualitative", "Quantitative", "Both" ], prompt: "Choose one" %>

        <% end %>
      <% end %>
我认为这可能行不通,因为初始范围问题的答案尚未保存。如果最初的范围问题回答为“真”,有人知道如何使用if语句来显示关于数据的进一步后续问题吗


谢谢您

您的用户将实时填写此表单并填充:数据字段,而您的表单只加载一次,提交时仅与所有字段一起评估。您应该使用JavaScript/CoffeScript来满足您的交互需求。谢谢。我在想我应该使用javascript的目标。我不确定是否有一种方法可以将一组问题作为一个整体来解决。最简单的解决方案是给你一个id,然后在:数据字段上附加一个onChange来隐藏/取消隐藏它。非常感谢MarsAtomic