2013-02-14 131 views
1

我有一個nested form根據has_one關係,但它沒有顯示字段。嵌套表格不顯示字段

我錯過了什麼?

新動作

def new 
    @doctor = Doctor.new  
    1.times { @doctor.build_schedule } 

    respond_to do |format| 
     format.html # new.html.erb 
     format.json { render json: @doctor } 
    end 
    end 

_form

<%= simple_form_for(@doctor, :html => { class: "form-horizontal"}) do |f| %> 

    <%= f.input :name %> 

     <%= f.simple_fields_for :schedule do |builder| %> 
     <%= render 'days_checkboxes', :f => builder %> 

    <%= f.submit %> 
<% end %> 

型號

class Doctor < ActiveRecord::Base 

    has_one :schedule, dependent: :destroy 

end 

我是否必須採取其他行動,設置生成?

+0

你的意思是「其他動作」?例如編輯 – 2013-02-14 22:53:43

+0

。 – evanx 2013-02-14 22:54:57

回答

3

如果模型實例上沒有schedule關聯對象,那麼您需要在要引用它的任何位置調用build_schedule。如果你沒有這樣做,表單根本就不會渲染,因爲它沒有任何顯示字段的地方。

+0

我正在使用Active Admin,如果我嘗試通過Active Admin(localhost .../admin/doctor/new/...)編輯記錄,我看不到嵌套表單,但如果直接訪問本地主機... /醫生/新...),然後我可以看到嵌套的形式。我該怎麼辦? – evanx 2013-02-14 23:15:52

+0

我的猜測是你沒有一個前置過濾器(或者AA使用的那個)調用'build_schedule.' – 2013-02-14 23:25:45