【问题标题】:Nested forms dynamic adding - recursively rendering rails partials嵌套表单动态添加 - 递归渲染 rails partials
【发布时间】:2013-11-05 10:17:00
【问题描述】:

我正在关注Nested Model Form 的 Railscast 示例。由于这个辅助方法,动态添加是可能的:

def link_to_add_fields(name, f, association)
    new_object = f.object.send(association).klass.new
    id = new_object.object_id
    fields = f.fields_for(association, new_object, child_index: id) do |builder|
      render(association.to_s.singularize + "_fields", f: builder)
    end
    link_to(name, '#', class: "add_fields", data: {id: id, fields: fields.gsub("\n", "")})
  end 

我在 Room 关联上调用此方法,从而呈现 _room_fields 部分。 这一切都很好。问题是我想渲染另一个 fields_for 标记,该标记内有另一个部分。

_room_fields.html.haml:

= f.input :dorm
= f.fields_for :beds do |builder|
  =render 'bed_fields', f: builder

问题是我的 bed_fields 部分没有渲染。我试过在没有动态创建的情况下放置相同的代码,它使一切正常。我怎样才能递归地渲染第二部分?

任何想法将不胜感激。谢谢!

【问题讨论】:

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


    【解决方案1】:

    好的,找到问题了。第二个嵌套部分没有渲染,因为我没有实例化一个新的 Bed 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-11
      • 2015-01-07
      • 2018-08-26
      • 2023-03-29
      相关资源
      最近更新 更多