Ruby on rails 嵌套包含使用as_json失败

Ruby on rails 嵌套包含使用as_json失败,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我对使用as_json方法的代码有一些问题 render json: channel.as_json({ include: { gigs: { include: { song: { include: [ :urls, {

我对使用as_json方法的代码有一些问题

render json: channel.as_json({
     include: {
         gigs: {
             include: {
                 song: {
                     include: [
                         :urls,
                         {
                             artist: {
                                 include: [
                                     :urls
                                 ]
                             }
                         }
                     ]
                 }
             }
         }
     }
 })
我得到了一个未定义的方法,用于nil:NilClass错误

如果我删除了末尾的include[:url]部分,也就是这段代码

render json: channel.as_json({
    include: {
        gigs: {
            include: {
                song: {
                    include: [:urls, :artist]
                }
            }
        }
    }
})
。。。一切都很完美

根据我的研究,给定的错误是由关联问题引起的。 在我的例子中,看起来艺术家模型与url模型没有关联,这是不正确的。 运行Artist.first.url效果很好

有人能找出问题所在吗


我正在使用Rails 3.1.1。

它看起来像是Rails 3.1中的一个bug。 我的第一个引发错误的示例在~>3.2中工作