无法检查' content_tag',调用任何方法都会导致错误

时间:2014-04-23 15:05:03

标签: ruby-on-rails ruby ruby-on-rails-4

我有一个帮手:

module MyHelper

  def test
    binding.pry # break point
    MyModule.test2(&content_tag)
  end

end

在断点处,我想在传递给MyModule之前检查content_tag。尽管如此,无论我做了什么都会导致错误:

content_tag
ArgumentError: wrong number of arguments (0 for 1+)

(content_tag).respond_to? :call
ArgumentError: wrong number of arguments (0 for 1+)

content_tag.class
ArgumentError: wrong number of arguments (0 for 1+)

content_tag.is_a? Proc
ArgumentError: wrong number of arguments (0 for 1+)


content_tag.lambda?
ArgumentError: wrong number of arguments (0 for 1+)

我的目标是将其传递给MyModule。但我不能这样做,错误与上面的错误相同。那是为什么?

1 个答案:

答案 0 :(得分:3)

错误非常明显。在没有参数的情况下调用content_tag,而此方法至少需要一个参数。

如果您想将其转换为阻止并转入test2方法,可以使用Object#method

MyModule.test2(&method(:content_tag))