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/900c1733-f705-4675-87e4-4af5e667a6ef%40googlegroups.com.

Reply via email to