在瑞安貝茨的first episode on complex forms,他增加了以下的模式:模型在Rails中訪問哪些信息?
# models/project.rb
has_many :tasks
def task_attributes=(task_attributes)
task_attributes.each do |attributes|
tasks.build(attributes)
end
end
我以前從來沒有想過這個,但如何在項目模型知道什麼是「任務」,它的工程實例?這是來自has_many協會嗎?是不是像這樣,當項目運行時,我正在查看一個項目,這是「活動」對象,所以project.rb知道我們指的是哪個Project對象,因此它知道任務實際上是some_current_project.tasks? (我明顯在這裏抓着吸管。)
此外,如果有人會指出我解釋其他問題,如這一個的一些參考,我真的很感激它。
我希望我的問題很清楚。如有需要,請在評論中提供更多說明。
請注意:我知道活動記錄處理CRUD操作,並且對象對應表中的行等。這些只是活動記錄是的描述。我正在尋找它在項目運行時的工作原理。我現在也是構造MVC,但我似乎無法找到關於Rails哪些信息發送到哪裏的詳細解釋。
任務與Project模型相關,因此在模型內部創建任務時,ID會自動設置。 – apneadiving 2011-01-12 19:28:53
...通過什麼自動設置?什麼時候?我可以改變它嗎?如果是這樣,怎麼樣?如果不是,爲什麼? – user5243421 2011-01-12 19:53:47