我有一個主題模型和一個課程模型。 我實現了一個嵌套的模型表單。嵌套式模型。 Belongs_to class not displayed
創建主題後,我將它引導到一個頁面,據說它顯示了相關的課程。但是,我沒有看到教訓。
我相信教訓的數據沒有正確保存爲 當我做了一個例如lesson.find_by_subject_id('1'),我得到'零'作爲回報。
我想弄清楚多態性是如何在rails上工作的,如果有人能指出我出錯的地方,或者給我一些關於如何爲belongs_to類傳遞值創建的指導,我將不勝感激。
物體模型
attr_accessible :subjectCode, :lessons_attributes
has_many :lessons, :dependent => :destroy
accepts_nested_attributes_for :lessons, :reject_if => lambda { |a| a[:content].blank? }, :allow_destroy => true
課型號
attr_accessible :lessonName, :subject, :subject_id
belongs_to :subject
主體控制器
def new
3.times {@subject.lessons.build}
end
def create
@subject = Subject.new(params[:subject])
if @subject.save
redirect_to @subject, :notice => "Successfully created subject."
else
render :action => 'new'
end
end
形式
<%= form_for @subject do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :subjectCode %><br />
<%= f.text_field :subjectCode %>
</p>
<%= f.fields_for :lessons do |builder| %>
<p>
<%= builder.label :lessonName %> <br/>
<%= builder.text_area :lessonName, :rows=>3 %>
</p>
<% end %>
<p><%= f.submit "Submit" %></p>
<% end %>
路線 資源:主題做資源:課結束後
你會得到任何錯誤,我們只是在沒有'subject_id'的情況下保存'lesson'?另外,你應該在你的'attr_accessible'裏面添加':lessons'。 –