原諒問題的標題;花了20分鐘試圖寫一些連貫的(懷疑如果成功)。Cakephp:在控制器操作中維護hasMany/belongsTo關係
不管怎麼說,使用博客作爲一個例子,我們的模型是這樣的:
張貼的hasMany評論 評論屬於關聯後
比方說,我想添加一個新評論:保存評論的時候,我在調用保存之前需要在數據數組中包含父Post(Post.id)的外鍵。
因爲我想保留在上下文中用戶之間的關係 - 我 不想讓他們不得不選擇從選擇字段後的評論與相關聯 - 這裏的兩個選項我看到:
1)將評論表單放在帖子的視圖中。
2)將Post ID作爲參數(通過GET)傳遞給Comment.add動作(或者寫入/讀取/從Session讀取);保存並且 重定向回到父級Post.view。
選項1非常適合用於博客,但不適用於用戶配置文件,該用戶配置文件可能太長,無法在用戶視圖中整齊地包含該表單。
選項2的作品我猜,但我不得不寫一些Post-specific顯示/重定向條件爲 Comments.add行動,它似乎不正確;從我讀過的,我 應該試圖保持控制器 和模型之間的1:1關係。
作爲Web MVC最佳實踐可以接受#2嗎?還是有另一種選擇,我忽略了?