在哪里放这个代码?

时间:2010-04-01 13:15:33

标签: ruby-on-rails

[Rails]这段代码放在哪里?

我有一个user1,当另一个注册用户2看到user1的个人资料时,上面有一些按钮:['添加为朋友','给我你的号码','给我你的电子邮件','问她' ,'查看照片']。使用AJAX,1,2,3,4是POST。现在,我必须创建一个名为'ProfileActionsController'的新控制器,或者我应该将此代码放在'UsersController'中?

或者是另一种可能性?谢谢;)

3 个答案:

答案 0 :(得分:1)

你可以做到这两点。为了避免UsersController变得过于庞大,你应该使用新的控制器来帮助维护。

答案 1 :(得分:1)

您很可能必须将这些关系中的一些存储在不同的数据库表中。例如,User has_many :friends。此设计鼓励Friend模型。这导致FriendsControllerPOST /user/1/friend之类的网址在当前用户(user2)和用户1之间建立友谊。

属于单独的控制器。

如果您需要在用户上执行更多Ajax操作,则在UsersController中定义它们是正确的选择。 “给我你的号码”,“给我你的电子邮件”和“查看照片”,根据要求,可以是html的隐藏部分,或简单的Ajax GET请求UserController来呈现部分或JSON。 / p>

那些可以留在UserController上

一般建议:当您觉得需要定义自己的行动时,请始终尝试保持每个控制器的7个操作(新建,创建,编辑,更新,索引,显示,销毁) ,想想它最接近的7个中的哪一个。可以优雅地结合起来吗?如果没有,那么它是否采取单独的概念?

答案 2 :(得分:0)

如果是对用户进行的操作(即,某种程度上通过其模型修改了用户),那么理想情况下你应该将这些操作放在users_controller中。