【发布时间】:2017-07-25 10:55:12
【问题描述】:
在另一个控制器中创建一个控制器的 CRUD 操作是一种不好的做法吗?例如我们有两个模型User,Post 和以下控制器:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def update_post #update action of PostsController
Post.find(params[:post_id]).uppdate_attributes(params[:post])
end
def create_post #create action of PostsController
@user = User.find(params[:id])
@user.posts.create(params[:post])
end
end
我可以/应该这样做还是有更好的方法?这个动作不在他们自己的控制器中的原因是我想在用户页面上操纵帖子。
【问题讨论】:
-
你不断覆盖我的错字修复。然后自己修复它们:)
-
请澄清,因为我无法理解,好像您在谈论
User动作update、create和Post动作update、create -
“这是一种不好的做法” - 好吧,它看起来确实很奇怪。用户控制器中的帖子相关功能在做什么?这绝对违反了最小意外原则:)
-
对不起,我刚刚更新了上下文
-
@Pavan: 非常令人沮丧,它是:)
标签: ruby-on-rails