gpt4 book ai didi

ruby-on-rails - rails : two controllers for the same model

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:53 24 4
gpt4 key购买 nike

我有一个模型 User 和一个对应的 UsersController。由于项目更改,User 模型的相同、精确的功能需要在 CentersController 中,当然还有仅用于 Centers 的附加功能。 UsersController 保持原样。

设计问题是如何使用 UsersController 方法(更新、编辑、创建等)而不在 CentersController 中复制它们?例如,当用户在中心 View 中更新时,将调用用户 Controller 的更新操作,但查看器应重定向回中心 View 。

最佳答案

这就是模块或“mixin”的用途。您将常用方法放在一个模块中,并将该模块包含到 UsersControllerCentersController 中。

module Foo
def bar
end
end

class UsersController < ApplicationController
include Foo
end

class CentersController < ApplicationController
include Foo
end

或者,将您的公共(public)代码放在 Controller 中,并从该 Controller 继承:

class FooController < ApplicationController
def bar
end
end

class UsersController < FooController
end

class CentersController < FooController
end

关于ruby-on-rails - rails : two controllers for the same model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12163768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com