首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止Cocoon加载存储对象

防止Cocoon加载存储对象
EN

Stack Overflow用户
提问于 2015-12-14 22:24:12
回答 1查看 81关注 0票数 0

背景:

我有一页,里面有一张桌子。我想使用茧创建一个所谓的“快速添加”功能到这个表的底部。听起来很简单,对吧?

陷阱:

出于这个问题范围以外的原因,我只希望能够使用这个茧接口添加用户。我不想编辑已经存在的人,或删除他们,或诸如此类的事情。我甚至不想让茧来装载它们。(我知道,我知道,这是个奇怪的主意,对吧?)

问题是:

这是我应该使用茧的东西,还是我最好只编写自己的javascript来添加/删除这些“快速添加”字段?如果它值得使用茧,我如何实现它,使已经存在的人不从数据库加载?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-14 23:20:18

茧不负责加载你的联想。您所需要做的就是省略茧文档中建议的fields_for部分:

代码语言:javascript
复制
= form_for @project do |f|
  .field
    = f.label :name
    %br
    = f.text_field :name
  .field
    = f.label :description
    %br
    = f.text_field :description
  %h3 Tasks
  #tasks
    -# Two lines below are responsible for displying already saved models. Just get rid of them.
    =# f.fields_for :tasks do |task|
      =# render 'task_fields', f: task
    .links
      = link_to_add_association 'add task', f, :tasks
  = f.submit

最后,您可能希望页在验证错误时保留表单中新插入的记录。在这种情况下,fields_for接受第二个param来指定要呈现的记录:

代码语言:javascript
复制
= f.fields_for :tasks, f.object.tasks.select(&:new_record?) do |task|
  = render 'task_fields', f: task
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34277743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档