STI表的jsonapi-rails gem的未定义方法新

时间:2018-07-23 00:46:27

标签: ruby-on-rails json-api

我正在使用json-api宝石here

我有这个代码:

class Api::V1::HangoutsController < ApplicationController
  def index
    render jsonapi: Hangout.all,
      class: { Hangout: Api::V1::SerializableHangout }
  end

  def show
  end
end


class Api::V1::HangoutsController < ApplicationController
  def index
    render jsonapi: Hangout.all,
      class: { Hangout: Api::V1::SerializableHangout }
  end

  def show
  end
end

视频群聊是类型为“餐厅”,“酒吧”或“家庭”的STI。如果我只是传入User并使用类来引用用户序列化程序,则此方法有效。但是当我使用STI表进行尝试时,jsonapi-rails就会失败。

这是我的应用文件夹:

└── [drwxr-xr-x  256 Jul 22 20:42]  app
    ├── [drwxr-xr-x   96 Jul 19 13:13]  channels
    │   └── [drwxr-xr-x  128 Jul 19 13:13]  application_cable
    │       ├── [-rw-r--r--   79 Jul 19 13:13]  channel.rb
    │       └── [-rw-r--r--   85 Jul 19 13:13]  connection.rb
    ├── [drwxr-xr-x   96 Jul 19 13:13]  jobs
    │   └── [-rw-r--r--   43 Jul 19 13:13]  application_job.rb
    ├── [drwxr-xr-x   96 Jul 19 13:13]  mailers
    │   └── [-rw-r--r--  102 Jul 19 13:13]  application_mailer.rb
    ├── [drwxr-xr-x   96 Jul 19 13:13]  views
    │   └── [drwxr-xr-x  128 Jul 19 13:13]  layouts
    │       ├── [-rw-r--r--  229 Jul 19 13:13]  mailer.html.erb
    │       └── [-rw-r--r--   13 Jul 19 13:13]  mailer.text.erb
    ├── [drwxr-xr-x  448 Jul 22 20:02]  models
    │   ├── [-rw-r--r--   78 Jul 19 13:13]  application_record.rb
    │   ├── [drwxr-xr-x   96 Jul 19 13:13]  concerns
    │   ├── [-rw-r--r--   35 Jul 19 15:11]  user.rb
    │   ├── [-rw-r--r--   39 Jul 19 15:15]  activity.rb
    │   ├── [-rw-r--r--   74 Jul 19 15:17]  slot.rb
    │   ├── [-rw-r--r--   95 Jul 19 15:19]  rating.rb
    │   ├── [-rw-r--r--   60 Jul 19 20:48]  address.rb
    │   ├── [-rw-r--r--  100 Jul 19 20:48]  event.rb
    │   ├── [-rw-r--r--   24 Jul 22 19:59]  bar.rb
    │   ├── [-rw-r--r--   25 Jul 22 19:59]  home.rb
    │   ├── [-rw-r--r--   31 Jul 22 19:59]  restaurant.rb
    │   └── [-rw-r--r--  197 Jul 22 20:02]  hangout.rb
    └── [drwxr-xr-x  224 Jul 22 20:42]  controllers
        ├── [-rw-r--r--   56 Jul 19 13:13]  application_controller.rb
        ├── [drwxr-xr-x   96 Jul 19 13:13]  concerns
        ├── [-rw-r--r--  145 Jul 19 21:09]  users_controller.rb
        ├── [drwxr-xr-x   96 Jul 21 11:55]  users
        │   └── [-rw-r--r--  136 Jul 21 11:55]  hangouts_controller.rb
        └── [drwxr-xr-x   96 Jul 22 20:42]  api
            └── [drwxr-xr-x  128 Jul 22 20:42]  v1
                ├── [-rw-r--r--  186 Jul 22 20:40]  hangouts_controller.rb
                └── [-rw-r--r--  116 Jul 22 20:42]  serializable_hangout.rb

但是当我按localhost:3000 / hangouts以json-api格式获取所有视频群聊时,出现此错误:

undefined method `new' for nil:NilClass

class Api::V1::HangoutsController < ApplicationController
  def index
    render jsonapi: Hangout.all,
      class: { Hangout: Api::V1::SerializableHangout }
  end

有什么主意我可能做错了吗?

0 个答案:

没有答案