问题标签 [nested-attributes]
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.
ruby-on-rails-3 - 在 ruby 上使用 nested_attributes 保存值
我有嵌套属性用于说评论。父类是post。
当我保存帖子时,我也想保存评论,并且我需要 hidden_field 的不同值,如果我使用表单标签,我不知道它如何在不做任何控制器操作的情况下保存评论。
我还在帖子模型中使用了 :accepts_nested_attributes_for :comment 。如果有人可以再考虑一下,那就太好了。
名称、地址和标签是注释字段。当我保存帖子时,我需要保存两行评论。一个来自第一个 text_field、text_field 和 hidden_field,另一个来自第二个输入字段。
ruby-on-rails - 如何在 Rails 3 中路由多层嵌套资源?
routes.rb
我知道我可以通过这种方式在 Rails 3中指定嵌套资源:
但是,我想添加comments
到posts
. 我应该在我的routes.rb
文件中写什么?这是正确的方法吗?我可以继续嵌套它们吗?
ruby-on-rails - Rails / 嵌套属性 / file_field 为空时不显示在 params 中
我有两个模型,第一个模型 ( model_1
) 接受第二个模型 ( ) 的嵌套属性model_2
。第二个模型只有一个字段 ( file
),在表单中作为文件字段引用。
当没有选择文件时,问题就来了。在这种情况下——除了一个文本字段——该字段根本不会出现在具有第一个模型的 POST 参数中,它认为根本不应该创建任何嵌套模型。哪个无法触发验证等。如果我要向 model_2 和相应的表单添加第二个字段,并且如果我使用的是文本输入,那么一切都会顺利进行,并且文件字段的验证自然也可以正常工作。
任何人都有如何去做这件事的经验?
为了更好地使用一些(简化的)代码 - 形式:
型号 1:
和模型 2:
ruby-on-rails - Accepts_nested_attributes_for 忽略空白值
我有
我有一个动态表单,您可以在其中按“+”添加新的文本区域以创建新的收藏夹。我想要做的是忽略空白,我发现在更新控制器中比非嵌套属性更难排序。
我暂时拥有的是在 after_save 回调中删除空记录的黑客行为。忽略这些空白对象的最有效方法是什么?
我不想要验证和错误,只是静默删除/忽略。
ruby-on-rails - Rails 多态赋值
我已经使用 成功创建了依赖的多态关联accepts_nested_attributes_for
,但现在我想分配一个已经存在的多态。我收到错误:
楷模:
看法:
生成的参数哈希是:
这在我看来是合理的。我究竟做错了什么?
ruby-on-rails-3 - rails 中的 label_tag 和 checkbox_tag 问题
我希望我的复选框可用,所以我通常会在复选框中添加标签,这样您就可以选择文本,而不必“瞄准”复选框。
问题是,如果我在 Rails 中使用嵌套属性表单怎么办?我现在有这个代码:
问题在于它产生了这个:
而我希望它是这样的:
ruby-on-rails - 尝试在 Rails 中保存嵌套属性时的 ActiveRecord::AssociationTypeMismatch
我阅读了很多关于 `has_one 关系和嵌套属性的页面,但没有成功完成这项工作。任何帮助都会很棒。
每个用户都有一个网络。我正在尝试以一种形式收集这两个属性的信息,但不断收到异常ActiveRecord::AssociationTypeMismatch in UsersController#create
传递的参数有:
我猜测参数Network
必须以某种方式显示,network_attributes
但我不确定如何。
控制器:
看法:
当然,模型:
谢谢
ruby-on-rails - 如何获取子对象的值
我在rails中有一些嵌套的对象。用户 -> has_many :tasks -> has_one :location。
昨天,我以为我无法将位置值链接到任务,但现在我意识到我也无法在 show 中获取要输出的值。
我可以通过调试获得输出
输出
所以我想如果我用
Rails 会给我地址字段。但我得到一个
关于我做错了什么的任何建议?
---------- 更新,包括模型---------------- 我的任务和位置模型是
ruby-on-rails - 销毁方法不触发以破坏复杂形式的嵌套资源
我正在使用 Paperclip 2.3.8 运行 Rails 3.0.3。我有两个模型,称它们为“Post”和“Image”。Image 是一个包含 Paperclip 图像文件的对象,用于将图像动态添加到 Posts。Image属于Post,Post有很多Image。
岗位型号:
图像模型:
我有一个表单,我想在其中动态添加和删除图像。如果图像是正在上传的新图像,我想显示一个 file_field;否则,如果图像已经存在,我想显示图像和删除链接。我关注了 Ryan Bates 的 Railscasts on Nested Forms。动态添加图像正在工作,但对 _destory 的调用没有触发。该帖子包含“_destroy”=>“1”,但在 HTTP Post 事件之后,id 为 7 的图像仍然存在。以下是 HTTP 帖子的摘录:
这是表单的样子:
_image_fields:
Javascript函数:
辅助功能:
正如我上面提到的,我可以添加图像。单击“添加图像”链接会在表单中添加一个文件字段,我可以成功添加多个图像。单击图像的“删除”链接会从视图中删除链接和图像 - 但正如我所说,它不会在 Post 事件中删除。
提前谢谢你;我感谢任何花时间帮助我找到解决方案的人。
编辑:
- 解决方案 -
在 Post Controller 中将“.includes(:images)”添加到更新方法中的 find 中:
ruby-on-rails - Accepts_nested_attributes_for :reject_if 触发另一个方法
我有一个使用 formtastic_cocoon(jquery 版本的 formtastic)的多级嵌套表单。
我正在尝试在某种意义上进行一些验证
我希望accept_nested_attributes_for 有一个:if 选项,但显然只有:reject_if。
有没有办法像我描述的那样创建一个验证作为accepts_nested_attributes_for的一部分?
------------------------根据祖宾的回复更新了------------------------ -----
我相信 Zubin 的方法是正确的,但我似乎无法让它正常工作。我使用的方法是
当我触发此功能时,self.task_id 将作为“0”而不是 Task.id 放入数据库中。
我想知道我是否还缺少其他东西。我不完全确定该方法实际上正在被调用。难道我不需要说
在某一点?
-------------------进一步编辑 ----------------------- 我认为我能做到发现只有当它与数据库的值同名时才会调用该方法,因此我将方法更改为
不幸的是,这仍然导致 0 作为数据库中的值。