我遇到了nested_form gem的问题。我在我的项目中实现了nested_form gem。但是对于一个特定的表单,我不想使用nested_form gem。为了更清楚地了解这个问题,下面是代码....
= f.simple_fields_for :product do |prod|
= prod.input :name
= prod.input :description
.controls
= prod.link_to_remove 'Remove Product', class: 'btn btn-danger btn-small'
hr
= f.link_to_add 'Add Product', :product, class: 'btn btn-primary btn-small'
以上是实现嵌套表单的典型方法。但是在下面的表单中,我不想要link_to_add。相反,我希望嵌套的表单直接显示...例如:
= f.simple_fields_for :comment do |eve|
= eve.input :commentable_type
= eve.input :commentable_id
在上面的表单中,没有显示嵌套字段(因为我没有使用link_to_add)。那么,我如何覆盖nested_form gem的功能。顺便说一句,我正在使用超薄模板。
答案 0 :(得分:0)
您可以尝试在form_view中构建comment strict,然后在simple_fields之前进行评论,如下所示:
- resource.comments.build if resource.comments.blank?
(如果您的关系是has_many)
OR
- resource.build_comment if resource.comment.blank?
(如果关系是has_one)