[Rails]把這段代碼放在哪裏?該放哪些代碼?
我有一個用戶1,當另一個註冊用戶2看到用戶1的個人資料時,有一些按鈕:['加爲朋友','給我你的電話','給我你的電子郵件','問她','查看照片']。 1,2,3,4是POST,帶有AJAX。現在,我必須創建一個名爲「ProfileActionsController」的新控制器,或者我應該將這些代碼放在'UsersController'中?
或者可能是另一個可能性?謝謝;)
[Rails]把這段代碼放在哪裏?該放哪些代碼?
我有一個用戶1,當另一個註冊用戶2看到用戶1的個人資料時,有一些按鈕:['加爲朋友','給我你的電話','給我你的電子郵件','問她','查看照片']。 1,2,3,4是POST,帶有AJAX。現在,我必須創建一個名爲「ProfileActionsController」的新控制器,或者我應該將這些代碼放在'UsersController'中?
或者可能是另一個可能性?謝謝;)
你可以做到這一點。爲了避免UsersController變得太笨重,你應該把它放在新的控制器上,這將有助於維護。
如果它是對用戶進行的操作(即在某種程度上通過其模型修改用戶),那麼理想情況下應該將這些操作放在users_controller中。
您很可能必須將這些關係中的一些存儲在不同的數據庫表中。例如,User
has_many :friends
。這種設計鼓勵Friend
模型。這導致FriendsController
和像POST /user/1/friend
這樣的網址在當前用戶(用戶2)和用戶1之間建立友誼。
這些屬於單獨的控制器。
如果你需要更多的Ajax行動上的用戶,在UsersController
定義它們是正確的地方。 「給我你的電話號碼」,「給我你的電子郵件」和「查看照片」,取決於需求,可能是html的隱藏部分,或簡單的Ajax GET請求到UserController
來呈現部分或JSON。
那些可以留在UserController的
通常建議:總是試圖留在7個動作每個控制器內(新,創建,編輯,更新,索引,展示,銷燬) - 當你覺得你需要定義你自己的行爲,想想它最接近的7個。它可以優雅地結合起來嗎?如果不是,那麼它是在一個單獨的概念上行事嗎?
我有超過7個行動的控制器,我怎麼能做到他們更好地工作,代碼變得有點混亂... 我有胖模型和薄控制器。模型是真的很胖..:s 我聽說應用程序文件夾中的一些更多的文件夾,如主持人或類似的東西,但我不記得很好.. – 2010-04-03 14:26:46
謝謝 我看到有人在應用程序文件夾中有更多的文件夾。正常是模型控制器視圖..但他們也有主持人,另一個我不記得..你知道這件事嗎? – 2010-04-01 14:00:01