I'm trying to use JSONAPI Resources in a Rails engine and I've defined DokiCore::Tenant
(the model) in doki_core/app/models/tenant.rb and DokiCore::TenantResource
in doki_core/app/resources/tenant_resource.rb. When I attempt to serialize to hash, I encounter the following error:
NoMethodError: undefined method
tenant_path' for #<Module:0x007f9d04208778> from /Users/typeoneerror/.rvm/gems/ruby-2.2.2@doki/gems/jsonapi-resources-0.6.1/lib/jsonapi/link_builder.rb:77:in
public_send'
The resource uses model_name
to let it know where the model actually is:
module DokiCore
class TenantResource < JSONAPI::Resource
model_name 'DokiCore::Tenant'
# ...
end
end
I'm trying to output the hash for a tenant like so:
tenant = DokiCore::Tenant.find(1);
resource = DokiCore::TenantResource.new(tenant, nil);
serializer = JSONAPI::ResourceSerializer.new(DokiCore::TenantResource);
serializer.serialize_to_hash(resource);
which is where the error happens.
How can I get the links to work correctly and/or disable them? I assume this is there it adds the URL to the resource as a link under the "links" key in the outputted json.