I am trying to convert @admins to JSON using the AdminSerializer
#app/serializers/admin_serializer.rb
class AdminSerializer < ActiveModel::Serializer
attributes :id, :email, :access_locked?
end
where Admins is>> @admins = @search.result(:distinct => true).page(params[:page][:number]).per(10)
and @search = Admin.search(params[:q])
When I execute this command>> ActiveModel::SerializableResource.new(@admins.to_a).as_json
I do get the desired JSON, but the pagination links are missing from the JSON received, as they were lost while converting the @admins
to array using to_a
.
However, when I execute render :json => @admins
, I get the complete JSON with the pagination links in it, as shown inn the screenshot below:
@admins_json = ActiveModel::SerializableResource.new(@admins.to_a).as_json
is returning me a JSON, while the method described above gives a string, which I have to parse usingJSON.parse()
of javascript. do I have to call to_json again to convert it into a JSON? – Bellini