如何检索传递的参数

时间:2014-01-28 04:44:39

标签: ruby-on-rails ruby

在Rails(4.1)应用程序中,我在几个类中调用create_bound方法(该方法包含在ExtModule中)。

该方法需要2个参数:task_name和user_id

有没有办法知道调用该方法的参数?

例如,具有以下代码

Class Event < ActiveRecord::Base
  include ExtModule

  ...

  create_bound("Buy Milk", 1)
  ...
end

更新1

我有一个名为BoundRetriever的第二个类

Class BoundRetriever

  def self.get_bound(klass)
   #Ruby magic happens here
  end
end

BoundRetriever.get_bound(Event)应该返回[“购买牛奶”,1]

如何定义get_bound

谢谢你,祝你有个愉快的一天。

1 个答案:

答案 0 :(得分:0)

我认为那里不需要BoundRetriever课程。

ext_module.rb

module ExtModule
  BOUND = []

  def create_bound(task_name, some_id)
    BOUND.replace [task_name, some_id]
    # rest of the code goes here..
  end

  def get_bound
    BOUND
  end
end

在您的模型中,例如 event.rb ,您可以致电:

Class Event < ActiveRecord::Base
  include ExtModule

  ...

  create_bound("Buy Milk", 1)
  ...

  # call get_bound with the same object
  get_bound #=> ["Buy Milk", 1]
  ...
end