【问题标题】:Calling a specific method before or after a method is called在调用方法之前或之后调用特定方法
【发布时间】:2023-04-08 04:07:01
【问题描述】:

我正在使用 ruby​​ 1.9.2-p136

我想做的是,创建两个方法:before_methodafter_method

当我在课堂上这样做时:

before_method :foo, :bar

它应该在任何被调用的方法之前运行这两个方法,即如果我调用一个类方法foo1,方法应该执行的顺序是: 富 酒吧 foo1

另外,我想要一个与 before_method

相反的方法 after_method

谁能告诉我该怎么做??

提前致谢:)

【问题讨论】:

标签: ruby metaprogramming


【解决方案1】:

您是否希望为 ActiveRecord 模型执行此操作?还是只是泛型类?因为我已经编写了一个 Rails 插件,它将 before_filterafter_filter 方法添加到 ActiveRecord 模型中。

也许您可以使用它,或者查看代码并从那里开始:https://github.com/deleteman/Filtered-Models

希望有帮助!

如果您有任何问题,请随时提问:)

【讨论】:

  • 不,不是用于 Rails,只是普通的 Ruby。是的,会看一下代码,希望它会告诉我路径! :) 谢谢老兄
  • 希望它能给你一些想法,如果你有一些问题,我的电子邮件在自述文件中:)
  • 是的,一定会这样做的!谢谢!! :)
  • 不知道你是否设法让它工作,但我最终写了这个 gem,它的功能与你正在寻找的东西非常相似,它只需要 ruby​​ 就可以工作:rubygems.org/gems/Conditionator跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多