@@ -83,7 +83,7 @@ def show
83
83
getter = ForestLiana ::ResourceGetter . new ( @resource , params )
84
84
getter . perform
85
85
86
- render serializer : nil , json : render_record_jsonapi ( getter )
86
+ render serializer : nil , json : render_record_jsonapi ( getter . record )
87
87
rescue => error
88
88
FOREST_LOGGER . error "Record Show error: #{ error } \n #{ format_stacktrace ( error ) } "
89
89
internal_server_error
@@ -102,8 +102,7 @@ def create
102
102
render serializer : nil , json : JSONAPI ::Serializer . serialize_errors (
103
103
creator . errors ) , status : 400
104
104
elsif creator . record . valid?
105
- render serializer : nil ,
106
- json : serialize_model ( get_record ( creator . record ) , include : record_includes )
105
+ render serializer : nil , json : render_record_jsonapi ( creator . record )
107
106
else
108
107
render serializer : nil , json : JSONAPI ::Serializer . serialize_errors (
109
108
creator . record . errors ) , status : 400
@@ -126,8 +125,7 @@ def update
126
125
render serializer : nil , json : JSONAPI ::Serializer . serialize_errors (
127
126
updater . errors ) , status : 400
128
127
elsif updater . record . valid?
129
- render serializer : nil ,
130
- json : serialize_model ( get_record ( updater . record ) , include : record_includes )
128
+ render serializer : nil , json : render_record_jsonapi ( updater . record )
131
129
else
132
130
render serializer : nil , json : JSONAPI ::Serializer . serialize_errors (
133
131
updater . record . errors ) , status : 400
@@ -188,14 +186,15 @@ def get_record record
188
186
is_sti_model? ? record . becomes ( @resource ) : record
189
187
end
190
188
191
- def render_record_jsonapi getter
192
- collection_fields = getter . collection . fields . map { |field | field [ :field ] }
189
+ def render_record_jsonapi record
190
+ collection = ForestLiana ::SchemaHelper . find_collection_from_model ( @resource )
191
+ collection_fields = collection . fields . map { |field | field [ :field ] }
193
192
fields_to_serialize = {
194
193
ForestLiana . name_for ( @resource ) => collection_fields . join ( ',' )
195
194
}
196
195
197
- serialize_model ( get_record ( getter . record ) , {
198
- include : includes ( getter ) ,
196
+ serialize_model ( get_record ( record ) , {
197
+ include : record_includes ,
199
198
fields : fields_to_serialize
200
199
} )
201
200
end
0 commit comments