Rails 关联 - 在一个视图中具有独立模型和表单的简单表单
Rails Association - Simple Form with separate models and forms in one view
我在我的 rails 4 应用程序中使用简单的表单。
我在应用程序中有 3 个模型。一个叫Project,一个叫Scope,一个叫Data(模型叫datum,视图叫data)。
Project 和 Scope 之间存在 has and belongs many 关联。数据属于范围。
我要求用户大致概述项目的范围(通过在范围表中提出高级问题),然后根据范围表中 true/false 问题的答案,我呈现部分这是在数据视图中创建的表单。
在我的范围表单中,我有一个问题:
<%= f.input :data, :as => :boolean, :label => false, :inline_label => true %>
数据视图中的那些部分在新项目视图中呈现。如果关于数据的问题(在范围表中询问)的答案是真的,我写这行是为了尝试显示数据表。
在我的新项目视图中,我有:
<% if @project.scopes.data == true %>
<%= render "data/form" %>
<% end %>
在我的架构中,我有一个连接 table 表单 projects_scopes。我的数据模型中还有 scope_id 的外键。
但是,我得到这个错误:
`enter code here`undefined method `data' for #<ActiveRecord::Associations::CollectionProxy []>
有人知道我做错了什么吗?
谢谢
您需要做一个嵌套表格。基本上,您最终会在嵌套对象的简单表单内部执行另一个简单表单,然后让您的主要对象接受嵌套对象的嵌套属性。这是一个详细介绍实现的参考。我相信你也可以在 youtube 上找到它。
http://railscasts.com/episodes/196-nested-model-form-revised?view=comments
另外,根据表单的复杂程度,您可以考虑创建一个表单对象。
我在我的 rails 4 应用程序中使用简单的表单。
我在应用程序中有 3 个模型。一个叫Project,一个叫Scope,一个叫Data(模型叫datum,视图叫data)。
Project 和 Scope 之间存在 has and belongs many 关联。数据属于范围。
我要求用户大致概述项目的范围(通过在范围表中提出高级问题),然后根据范围表中 true/false 问题的答案,我呈现部分这是在数据视图中创建的表单。
在我的范围表单中,我有一个问题:
<%= f.input :data, :as => :boolean, :label => false, :inline_label => true %>
数据视图中的那些部分在新项目视图中呈现。如果关于数据的问题(在范围表中询问)的答案是真的,我写这行是为了尝试显示数据表。
在我的新项目视图中,我有:
<% if @project.scopes.data == true %>
<%= render "data/form" %>
<% end %>
在我的架构中,我有一个连接 table 表单 projects_scopes。我的数据模型中还有 scope_id 的外键。
但是,我得到这个错误:
`enter code here`undefined method `data' for #<ActiveRecord::Associations::CollectionProxy []>
有人知道我做错了什么吗?
谢谢
您需要做一个嵌套表格。基本上,您最终会在嵌套对象的简单表单内部执行另一个简单表单,然后让您的主要对象接受嵌套对象的嵌套属性。这是一个详细介绍实现的参考。我相信你也可以在 youtube 上找到它。
http://railscasts.com/episodes/196-nested-model-form-revised?view=comments
另外,根据表单的复杂程度,您可以考虑创建一个表单对象。