好的,我想我已经找到答案了。我只需要在 module ::TopicGuardian 中实现 can_create_topic? 方法,它就能自动改变 TopicGuardian 的行为,而无需注入或将其注册到任何地方。此外,我可以在重写的方法中使用 super 方法,这样就不必总是手动将其与原始方法保持同步,以防后者发生变化。
我从这个主题中获得了帮助:Overriding user_guardian.rb in a plugin (no fork necessary!)
好的,我想我已经找到答案了。我只需要在 module ::TopicGuardian 中实现 can_create_topic? 方法,它就能自动改变 TopicGuardian 的行为,而无需注入或将其注册到任何地方。此外,我可以在重写的方法中使用 super 方法,这样就不必总是手动将其与原始方法保持同步,以防后者发生变化。
我从这个主题中获得了帮助:Overriding user_guardian.rb in a plugin (no fork necessary!)