我试图在 Rails 应用程序中找出一些东西。我们有一个具有主题(主题类)的类站点,当站点上传主题时,它可以为特定站点安装它。所以我正在跟踪代码,我看到它调用了这样的方法'build':
@theme = @current_site.themes.build(params[:theme])
主题方法只返回与该站点关联的主题对象数组。所以在rails控制台中我尝试了这个(包括结果):
>> site.themes.method(:build).__file__
NameError: undefined method `build' for class `Array'
然后我尝试了这个:
>> site.themes.respond_to? :build
=> true
所以我的问题是双重的,我怎样才能找到“构建”的定义位置,以便我能够理解它是如何工作的?有人可以向我解释一下像“构建”这样的方法是如何工作的,因为它能够被调用没有这种方法的 Array 对象的结尾?谢谢!