问题标签 [cocoon-gem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
664 浏览

ruby-on-rails - Rails Cocoon:在不删除父级的情况下删除子级(深度嵌套表单)

我有一个具有深度嵌套的表单,用于创建属性模板。property_template has_many property_template_fields 和 property_template_field has_many property_template_options。

一切正常,除了当我已经创建了一个字段并且该字段有 1 个或多个选项时,我尝试只删除一个选项。我希望它只删除该选项,但是当我单击它时,它会删除所有选项和字段。有没有办法让我只移除那个孩子而不移除它的父母或兄弟姐妹?

_form.html.erb

_propety_template_fields

_propety_template_options

0 投票
1 回答
603 浏览

ruby-on-rails-3 - 使用 cocoon 创建嵌套子模型

编辑 - 已修复:问题是参数哈希,在查看了很多关于 SO 的问题后,我想出了以下解决方案,它(到目前为止)效果很好:

现在的student_groups#new动作看起来像这样——也许有更好的方法来解析参数,但是……这行得通!

结尾

student_group.rb: 我必须标记:_destroyattr_accessor

_groups_form.html.erb:根据这个添加 child_index

结束编辑

我正在使用rails 3.2.13andcocoon在我的 student_group 模型中制作嵌套表格。格式仍然有点麻烦,我想实现 coffeescript 来自动更新正确的学生人数,但这些是我以后可以弄清楚的。目前,主要问题是虽然表格出现并且可以正确填写/提交,但没有创建新的子模型。

这是_form部分

_student_fields部分:

当我在浏览器中创建一个新组时,没有创建新学生,我可以在服务器中看到:

这似乎是问题所在 -

这些学生属性应该去哪里/我应该如何处理它们以便他们创建一个新学生?谢谢!

0 投票
1 回答
3591 浏览

jquery - 如何使用jquery在rails中动态添加嵌套属性

一段时间以来,我一直在反复询问这个问题——但在 SO 社区的大力帮助下,我几乎可以让它工作了。所以首先,谢谢!

我有一个表单来创建一个新的student_group并且正在使用Cocoongem:

和“student_fields”部分:

现在问题的核心:

我有以下 .js 文件可以将正确数量的学生字段动态添加到表单中:

所以这个表格几乎可以工作 - 一切格式正确,当我选择“x”个学生时,会构建“x”个学生表格 - 但是,正因为如此 -

...这些字段没有正确呈现 - 因为它们没有创建新学生字段的谨慎实例。我知道问题是由 rails 生成的 html 的 id/name 部分中的哈希,但我不知道如何替换它以便它可以工作。我最接近的是试图从这个站点改编咖啡脚本,但我无法让它工作。

那么如何使用jquery为模型动态生成新表单呢?

编辑:实际上我刚刚意识到第一个和最后一个表单将正确保存 - 也就是说,如果我添加八个学生,student1 和 student8 将被输入到数据库中,但其他人不会。这只会让我更加困惑:/

编辑2:我在这个问题的上下文中发现了这个名为'serialize'的jquery api ,我认为它可能是我需要的,但在适应它时遇到了麻烦。帮我!

0 投票
2 回答
1153 浏览

ruby-on-rails - 深深嵌套的茧

我想在项目中使用带有 rails 4.0 的 cocoon 来实现深度嵌套的表单。我有一个派对模型,它可以与一个人或一个组织相关联(为了简单起见,这里不包括,所以派对只有它的主键)。

每一方应该能够有多个postal_addresses,telecommunications_numberselectronic_addresses.

这些中的每一个都可以在多方之间共享

为此:

party has many communication_mechanisms :through => party_contact_mechanisms

party_contact_mechanism belongs_to partybelongs_to contact_mechanism

contact_mechanism has_many electronic_addresses,has_many telecommunications_numbershas_many postal_addresses(此示例和示例应用程序中仅包含电子地址。)

(每个实例contact_mechanism应该只有一个electronic_address,postal_addresstelecommunications_numberhas_man选择 y 关系进行测试,一旦嵌套工作将在稍后更改。)

我想要实现的是一个嵌套表单,我可以contact_mechanisms通过尽可能少的点击添加多个表单:

所以最好我有一个电子邮件链接、一个邮政链接和一个电话链接。因此,对于电子邮件,我将有一个茧链接来添加一个动态表单 for electronic_addresses,包裹在一个表单中,contact_mechanisms包裹在一个表单中party_contact_mechanisms。这样,在提交表单时,所有关系都会自动设置。当我使用该设置(party#new 中的电子邮件按钮)时,提交了以下 params_hash,无法创建electronic_address链接到 a 的contact_mechanims链接到 a party_contact_mechanism。创建链在 处中断party_contact_mechanims,创建时使用 aparty_id但没有 a contact_mechanism_id

似乎contact_mechanismelectronic_address没有得到构建的实例,也没有分配任何值。所以我需要一种方法来插入一个表单party_contact_mechanism并同时实例化嵌套的contact_mechanimselectronic_address

实现此表单的第二种可能性是遵循茧 wiki 示例中的 belongs_to 关系(https://github.com/nathanvda/cocoon/wiki/A-guide-to-doing-nested-model-forms#the-look-up -or-create-belongs_to)并且可以使用“PCM”按钮进行测试。使用这种方法,首先单击以添加party_contact_mechanism表单,然后选择现有的contact_mechanism或再次单击以创建新的contact_mechanism.

contact_mechanism但是没有显示添加嵌套表单的链接。

我在 github 上有一个示例应用程序供审查:

此问题的示例应用程序

非常感谢有关如何最好地实现此数据模型的任何帮助。

0 投票
1 回答
863 浏览

ruby-on-rails-3.2 - 茧:has_many:通过关系 - 创建新的 - 不仅仅是“添加现有的”

我正在开发一个食谱应用程序,其中食谱具有标题、描述、说明和数量的成分

我有一个配方模型、一个数量模型和一个成分模型:

我正在使用带有简单形式的茧来创建嵌套模型形式,这是我目前所拥有的:

食谱/_form.html.haml

食谱/_quantity_fields.html.haml

食谱/_ingredient_fields.html.haml

这是在我的食谱中添加新成分时得到的结果:https ://www.evernote.com/shard/s1/sh/3790e23d-5699-4683-8404-120515affba1/858deb9a56112d179c37d39e61ba0f6d

现在我想知道如何添加一种以前从未添加过的全新成分 - 你有什么想法吗?

0 投票
1 回答
8593 浏览

ruby-on-rails-4 - Rails中具有嵌套属性的多选文件上传字段

目前我有一个 Note 模型,它接受使用 Carrierwave 的 Attachments 模型的嵌套属性。添加注释时,我有一个嵌套表单以允许将文件附加到新注释:

嵌套表单域:

我正在使用 Cocoon gem 添加嵌套字段。虽然我可以很容易地让他们使用 Cocoon 添加多个文件上传字段,并以这种方式添加多个附件,但我只想加载一个文件上传字段,并让他们使用多选来选择多个图像。

当我这样做时,文件上传字段旁边会显示“2 图片”。但是,在提交表单后,“attachments_attributes”下只列出了一个文件。由于注释尚未保存,我需要一次提交所有附件。

实现此目的的正确方法是什么?我知道有关此主题的 Railscast,但它似乎并没有解决我的特定情况。

任何帮助表示赞赏。

0 投票
2 回答
3557 浏览

ruby-on-rails-4 - Rails 4.0 和 Cocoon:fields_for 下的嵌套字段不会出现在编辑中

希望有人可以在这里提出修复建议。我对 Rails 还很陌生,正在探索 Rails 4.0 中的变化。我在 Rails 4.0 中构建了这个简单的食谱书应用程序。我有一个主要的食谱模型(名称、cook_time、oven_temp、说明等)。因为有些食谱可能有 5 种成分,而另一些可能有 20 种成分,所以我想用 has_many 关联在单独的模型中分解成分。因此,Recipes has_many Ingredients 和 accept_nested_attributes_for :ingredients。以下是模型:

食谱.rb

成分.rb

提醒:Rails 4.0 不再使用 attr_accessible,而是将赋值转移到具有强参数的控制器中。

recipes_controller.rb

我正在使用来自 nathanvda 的优秀 Cocoon gem 来动态管理嵌套表单字段,它在“recipes#new”中效果很好,并且可以正确保存信息。但是,成分字段不会出现在“recipes#edit”视图中!这是我的“表单”和成分字段部分的代码。

_form.html.erb(缩写)

_ingredients_fields.html.erb

正如我所说,非常简单,删除了所有错误检查和消息传递,只是基础。关于我所缺少的任何想法?当我从显示视图加载编辑时,我知道食谱中有成分。提前感谢您的任何建议!

凯文

0 投票
1 回答
103 浏览

ruby-on-rails - Rails Cocoon 备用颜色

是否可以为 Cocoon gem 创建的新行添加交替颜色?

https://github.com/nathanvda/cocoon

0 投票
0 回答
126 浏览

ruby-on-rails - Rails 多级嵌套属性

我想创建一个活动,其中: - 活动有多个时间表 - 每个时间表都有一个地址

但是,当我使用以下表单时,我将 cocoon 用于多个事件:

它会在我存储的事件有地址时显示,但如果我试图创建一个,我必须做到:

但这意味着我永远无法在表格中看到我的地址详细信息

如何解决这个问题?

0 投票
1 回答
2284 浏览

html - nested_form/cocoon:可以将表格行用于嵌套字段吗?

我通常不使用表格作为表格,但是当有嵌套表格时(使用nested_form 或 cocoon gem 时),可以将每组表格元素放在表格行中吗?

对我来说,这似乎很直观:表中的每一行都代表一个对象。但是默认情况下,nested_form 和 cocoon gem 在他们的示例中都没有添加表格,所以我想知道使用表单是否不是最好的方法?