我正在使用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
有什么主意我可能做错了吗?