[Rails]这段代码放在哪里?
我有一个user1,当另一个注册用户2看到user1的个人资料时,上面有一些按钮:['添加为朋友','给我你的号码','给我你的电子邮件','问她' ,'查看照片']。使用AJAX,1,2,3,4是POST。现在,我必须创建一个名为'ProfileActionsController'的新控制器,或者我应该将此代码放在'UsersController'中?
或者是另一种可能性?谢谢;)
答案 0 :(得分:1)
你可以做到这两点。为了避免UsersController变得过于庞大,你应该使用新的控制器来帮助维护。
答案 1 :(得分:1)
您很可能必须将这些关系中的一些存储在不同的数据库表中。例如,User
has_many :friends
。此设计鼓励Friend
模型。这导致FriendsController
和POST /user/1/friend
之类的网址在当前用户(user2)和用户1之间建立友谊。
属于单独的控制器。
如果您需要在用户上执行更多Ajax操作,则在 那些可以留在UserController上 一般建议:当您觉得需要定义自己的行动时,请始终尝试保持每个控制器的7个操作(新建,创建,编辑,更新,索引,显示,销毁) ,想想它最接近的7个中的哪一个。可以优雅地结合起来吗?如果没有,那么它是否采取单独的概念?UsersController
中定义它们是正确的选择。 “给我你的号码”,“给我你的电子邮件”和“查看照片”,根据要求,可以是html的隐藏部分,或简单的Ajax GET请求UserController
来呈现部分或JSON。 / p>
答案 2 :(得分:0)
如果是对用户进行的操作(即,某种程度上通过其模型修改了用户),那么理想情况下你应该将这些操作放在users_controller中。