0

我有一个模型:类 Profile 包括 Mongoid::Document

    # PROFILE TYPE KIDS & PARENT
    embeds_one :kids_type, :class_name => "ProfileKidsType"
    embeds_one :parent_type, :class_name => "ProfileParentType"

    end

在 ProfileKidsType 模型中:

    class ProfileKidsType
    include Mongoid::Document

    field :nickname, :type => String
    field :gender, :type => String

....很快.....

    embedded_in :profile, :inverse_of => :kids_type
    end

在视图中:profiles /_form.html.haml

    = form_for @profile do |f|

   .formBox
    .formSection Child information
    = f.label :lname, "Nick name"
    = f.text_field :nickname

我如何在这里访问昵称字段.....当我执行上面的代码时,它说的是未定义的方法。

4

1 回答 1

0

您需要使用 fields_for 来为嵌入式文档创建嵌套表单。

像这样的东西会起作用:

  = form_for @profile do |f|

  .formBox
   .formSection Child information
   = f.fields_for :kids_type do |k|
     = k.label :nickname, "Nick name"
     = k.text_field :nickname

有关更多详细信息,请参阅这篇文章,尽管它不使用 haml。

于 2012-06-28T19:02:39.043 回答