2012-06-28 79 views
0

我有一個模型: 類資料 包括Mongoid ::文獻蒙戈分貝與導軌陣列3

# 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 

in views:profiles /_form.html.ham l

= form_for @profile do |f| 

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

我怎樣才能訪問暱稱字段在這裏.....當我執行上面的代碼它說的未定義的方法。

回答

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 

參考this post更詳細的信息,但它不使用HAML。

+0

如果我想要在部分頁面中,那麼.. – Agnes

+0

您可以使用相同的代碼,只需像上面那樣部分地將其放入:profiles /_form.html.haml,然後從另一個(非 - 部分)視圖,如profiles/edit.html.haml或profiles/new.html.haml –