这里原谅一个基本的问题。
通过阅读,我了解到从另一个 Controller 触发创建操作并不是最佳做法 - 我正在寻找有关在以下情况下应该如何组织代码的建议:
I have two controllers: cases and notifications.
When a new case is created I want it to also create a new notification.
The notification create action creates a new instance in it's model, and sends an email.
我认为我不应该只从我的案例 Controller 调用 Notification#create 是否正确?我应该将其提取到助手或模块中吗?如果是这样,它会是什么样子?关于这个主题的其他大致相似的帖子没有详细说明。
谢谢。
最佳答案
由于 create 是一个 POST 方法,我认为没有办法从案例 Controller 调用通知 Controller 的创建。我的建议是将通知实例的创建和发送邮件逻辑移动到案例模型的保存之前。这将在每次创建案例时创建一个通知,并且还将处理邮件发送机制。由于这是您业务需求的一部分,因此最好将业务逻辑移至您的模型中。
关于ruby-on-rails - Rails - 如何避免必须从另一个 Controller 中的创建操作触发一个 Controller 中的创建操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12395728/