小编Rub*_*ils的帖子

捕获所有事件(javascript)

我希望能够捕获所有创建和调度的事件,并在发生这种情况时触发一些回调.

此外,我希望能够在事件与事件监听器配对时随时触发回调.

问题包括:动态添加的元素,阻止传播或冒泡的事件以及动态生成的自定义事件.我想有必要进行原型设计dispatchEvent,但我不确定.这甚至可能吗?

javascript javascript-events

9
推荐指数
1
解决办法
4189
查看次数

在Action Mailer中设置实例变量?

我想知道在Mailers中设置实例变量的一种干净常规方法是什么?目前,我已经在中继承了的任何邮件程序中重新定义了initialize方法,Mailer并在需要时覆盖了某些实例变量Mailer

class Mailer < ActionMailer::Base
  attr_reader :ivar

  def initialize
    super
    @ivar = :blah
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很奇怪,因为这new是邮递员的私人方法。例如,如果要尝试在rails控制台中检索它们,则需要执行以下操作:

mailer = Mailer.send(:new)
mailer.ivar
Run Code Online (Sandbox Code Playgroud)

我还考虑过将它们添加到default哈希中,如下所示:

class Mailer < ActionMailer::Base
  default ivar: :blah,
  ...
end
Run Code Online (Sandbox Code Playgroud)

唯一的问题是我需要创建这样的方法来检索ivars:

def default_getter(ivar)
  self.class.default[ivar]
end
Run Code Online (Sandbox Code Playgroud)

两种方式对我来说似乎都不是很干净。我考虑过使用类变量,但是我想知道是否有人可以建议一种更清洁的方法。谢谢。

ruby ruby-on-rails actionmailer ruby-on-rails-3 ruby-on-rails-4

5
推荐指数
1
解决办法
2005
查看次数