不要将nested_form gem用于特定表单

时间:2016-03-16 19:14:53

标签: ruby-on-rails rubygems nested-forms

我遇到了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的功能。顺便说一句,我正在使用超薄模板。

1 个答案:

答案 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)