在Rails中是否有类似于find_or_create的方法find_child_or_create?

时间:2011-10-29 19:16:19

标签: ruby-on-rails ruby

我想知道是否有一个方法返回一个对象的所有子对象,或者如果它们都不存在则创建一个新的子对象。

这样的方法可以方便地创建嵌套表单,通常情况下,因为没有初始化子对象而嵌套表单没有出现。

谢谢。

2 个答案:

答案 0 :(得分:1)

我是用嵌套形式做的:

<%= form_for @parent do |f| %>
  ...
  <%= f.fields_for @parent.children || @parent.children.build do |child| %>
    ...
  <% end %>
  ...
<% end %>

或将其包装为模型方法:

class Model < AR::Base
  ...
  def children_form
    children || children.build
  end
end

然后以表格

使用它
<%= f.fields_for @parent.children_form do |child| %>

答案 1 :(得分:0)

据我所知,没有这样的方法。