【问题标题】:How can you include a mixin to make it available to all of your observers, models, controllers and RSpec?如何包含一个 mixin 以使其对所有观察者、模型、控制器和 RSpec 都可用?
【发布时间】:2011-12-09 10:32:20
【问题描述】:

我想创建一组可用于我的模型、控制器、视图和 RSpec 的方法。

请注意我不想在 RSpec 中测试这些方法,我希望它们可供 RSpec 使用。

我想这样做的原因是我有一些帮助程序覆盖 Rails path_helper 方法。由于这些路径辅助方法直接在所有这些不同的地方使用,我需要将它们混合在一起。

【问题讨论】:

  • 您不应该在模型中使用路径助手。如果是这样,您的模型可能会做他们不应该做的事情。
  • 这和你的previous question有什么不同?
  • Will - 不是我没有得到答案。 @Beerlington - 公平点并进一步考虑它我实际上并不需要它们在模型中

标签: ruby-on-rails rspec mixins


【解决方案1】:

嗯,有几种方法可以实现您的目标,其中之一是将您的模块包含在ActiveRecord::Base、'ApplicationController' 和Rspec 中的直接方法。 不确定 RSpec(我不完全用它的类/模块结构签名),但你可以在一些初始化文件中做这样的事情:

class ActiveRecord::Base
 include MyModuleWithAwesomeMethods
end

class ApplicationController
 include MyModuleWithAwesomeMethods
end

等等。对于其他类/模块
希望它会帮助你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    相关资源
    最近更新 更多