Yes, in  models.rb I have a line 

Sequel::Model.plugin :json_serializer


but this doesn't solve my issue.

Thanks.


On Monday, 20 April 2020 09:15:07 UTC-6, Jeremy Evans wrote:
>
> On Monday, April 20, 2020 at 7:17:27 AM UTC-7, shreko wrote:
>>
>> Sorry for pulling out a two year old question (Best way to Serialize 
>> Models <https://groups.google.com/forum/#!topic/sequel-talk/o2vVW2tURXw>), 
>> but there is a piece of a puzzle still missing for me and I still don't 
>> know how to do what I would like to:
>>
>> # Using roda's :json plugin
>> plugin :json, classes => [Array, Hash, Sequel::Model]
>>
>>
>> # In the main route start collecting different things in a hash @rs that 
>> we be sent to the client as JSON at the end
>> route do |r|
>>    @rs = {}
>>
>>    # user record, this is DB persisted session
>>    @rs[:user] = current_user(r.cookies('SESSIONID')) 
>>
>>    # Maybe some other record that will be sent on every request
>>    @rs[:user_settings] = user_settings(@rs[:user][:id])
>>  
>>    r.multi_route
>> end
>>
>>
>> # in the multi_route branch
>> r.get "jobs" do 
>>
>>   @rs[:jobs] = Job.where(:id => [100,101]).eager(:job_items).all
>>
>>   # and the last statement of every route would be @rs which will be 
>> converted to JSON by roda's :json plugin
>>   # this pattern works great when @rs hash values are arrays and hashes, 
>> but Models in the mix don't work)
>>
>>   @rs
>>
>> end
>>
>>
>>
>>
> Are you using the Sequel json_serializer plugin in your models?  If not, 
> you probably should.  I assume that will fix your issue, as the Roda json 
> plugin just calls to_json on the resulting object, and the Sequel 
> json_serializer plugin adds Model#to_json.
>
> Thanks,
> Jeremy
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sequel-talk/efcd3622-7d22-4497-9efe-9d3bed8535ae%40googlegroups.com.

Reply via email to