【发布时间】:2014-03-24 17:30:33
【问题描述】:
我的 Rails 应用程序中有很多类似的资源,我目前已经使用控制器继承来干掉代码。我看到在控制器文件夹下有一个名为关注点的目录,我可能会在其中编写类似的关注点(例如归档、激活/停用等)。我可能也可以编写 mixins。
是否有首选方法来干燥控制器代码?使用继承有什么缺点,还是使用其他技术有什么优点?
【问题讨论】:
标签: ruby-on-rails ruby inheritance ruby-on-rails-4
我的 Rails 应用程序中有很多类似的资源,我目前已经使用控制器继承来干掉代码。我看到在控制器文件夹下有一个名为关注点的目录,我可能会在其中编写类似的关注点(例如归档、激活/停用等)。我可能也可以编写 mixins。
是否有首选方法来干燥控制器代码?使用继承有什么缺点,还是使用其他技术有什么优点?
【问题讨论】:
标签: ruby-on-rails ruby inheritance ruby-on-rails-4
是否有首选方法来干燥控制器代码?
根据我的经验,这取决于您希望代码做什么。我只对简单的独立于控制器的方法使用了关注点,例如before_action 或其他东西
如果您的控制器的方法能够依赖super class 或其他东西,我会使用继承。到目前为止,我的经验使我使用 inherited_resources - 一种创建控制器继承的 DRY 方式
【讨论】: