【问题标题】:Run a create action from another controller?从另一个控制器运行创建操作?
【发布时间】:2012-01-31 12:03:39
【问题描述】:

这是我的问题: 我有一个带有创建动作的后控制器。我希望在创建新帖子时,我还会创建一个包含有关帖子的所有信息的活动,... 现在我只是在 PostController 创建操作中创建并保存此活动,但我希望能够启动活动控制器的创建操作,以便一切都在正确的位置 - 但这是我应该这样做的方式吗?有概念问题吗?

【问题讨论】:

    标签: ruby-on-rails controller action


    【解决方案1】:

    控制器应该调解视图和模型之间的通信。

    因此,如果您想保留代码DRY,请在Activity 类中创建(例如)一个类方法,该方法将执行您想要的操作,然后从PostController#createActivityController#create 调用它。

    这比尝试触发控制器方法(这在语义上意味着来自客户端的另一个请求)要好得多。

    【讨论】:

    • 对,你的意思是在 model/activity.rb 文件中?我可以做类似 "self.post_id = ..." 和 "self.save" 的事情吗?
    • @DavidFabreguette:如果它是实例方法 - 是的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多