Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 没有名称的方法在jBuilder(RoR)中如何工作_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby 没有名称的方法在jBuilder(RoR)中如何工作

Ruby 没有名称的方法在jBuilder(RoR)中如何工作,ruby,ruby-on-rails-3,Ruby,Ruby On Rails 3,以下代码行如何在ruby on rails中使用: json.(institute, :id, :name, :title, :updated_at) 调用中没有方法名称。有人能解释一下幕后发生了什么吗?代码将调用对象json上名为call的方法,下面是一个示例: class Test def call(*args) puts args.inspect end end t = Test.new t.(:something, 1, 2) => [:something,

以下代码行如何在ruby on rails中使用:

json.(institute, :id, :name, :title, :updated_at)

调用中没有方法名称。有人能解释一下幕后发生了什么吗?

代码将调用对象
json
上名为
call
的方法,下面是一个示例:

class Test
  def call(*args)
    puts args.inspect
  end
end

t = Test.new

t.(:something, 1, 2)

=> [:something, 1, 2]

您也可以使用
方法\u missing
方法来获得类似效果。

是否有文档记录?它是一个ruby的东西还是activesupport的一些闪亮的行为?beavior来自普通ruby。我找不到完整行为的良好文档来源,但此链接包含有关
方法\u missing
的官方信息:感谢您澄清发生了什么,尽管我很想了解它是如何工作的。