【问题标题】:Rails Association - Simple Form with separate models and forms in one viewRails 协会 - 在一个视图中具有单独模型和表单的简单表单
【发布时间】:2015-04-03 00:19:58
【问题描述】:

我在我的 rails 4 应用中使用了简单的表单。

我的应用中有 3 个模型。一种称为 Project,一种用于 Scope,一种用于 Data(模型称为 datum,而视图称为 data)。

Project 和 Scope 之间有一个 has 和属于 many 的关联。数据属于范围。

我要求用户大致概述项目的范围(通过在范围表单中提出高级问题),然后根据对范围表单中真/假问题的答案,我呈现部分创建的表单在数据视图中。

在我的范围表格中,我有一个问题:

<%= f.input :data, :as => :boolean, :label => false, :inline_label => true  %>

数据视图中的那些部分会在新的项目视图中呈现。如果关于数据的问题(在范围表单中提出)的答案是正确的,我写了这行来尝试显示数据表单。

在我的新项目视图中,我有:

  <% if @project.scopes.data == true %>
        <%= render "data/form" %>
      <% end %>

在我的架构中,我有一个名为 projects_scopes 的连接表。我的数据模型中还有一个 scope_id 的外键。

但是,我收到此错误:

`enter code here`undefined method `data' for #<ActiveRecord::Associations::CollectionProxy []>

有谁知道我做错了什么?

谢谢

【问题讨论】:

    标签: ruby-on-rails forms simple-form model-associations


    【解决方案1】:

    你需要做一个嵌套表格。基本上,您最终会在嵌套对象的简单表单中执行另一个简单表单,然后允许您的主对象接受嵌套对象的嵌套属性。这是一个详细介绍实现的参考。我相信你也可以在 youtube 上找到它。

    http://railscasts.com/episodes/196-nested-model-form-revised?view=comments

    还取决于您的表单变得多么复杂,您可能会考虑创建一个表单对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-13
      • 2012-11-15
      • 2018-09-11
      • 2011-08-12
      • 1970-01-01
      • 1970-01-01
      • 2019-04-22
      • 1970-01-01
      相关资源
      最近更新 更多