我想知道如何將另一個鍵值對添加到由DataMappers .to_json
方法生成的JSON的末尾。當我嘗試撥打to_json(:methods => [:total_pages])
時,它忽略了所有方法。添加到datamapper的結尾json
我想它生產的東西是這樣的:
{
'data': [rows go here],
'total_pages': X
}
有沒有辦法只是做方法內聯還是什麼?
謝謝!
我想知道如何將另一個鍵值對添加到由DataMappers .to_json
方法生成的JSON的末尾。當我嘗試撥打to_json(:methods => [:total_pages])
時,它忽略了所有方法。添加到datamapper的結尾json
我想它生產的東西是這樣的:
{
'data': [rows go here],
'total_pages': X
}
有沒有辦法只是做方法內聯還是什麼?
謝謝!
你可以做到這一點簡單。
{
data: YourModel.your_whatever,
total_pages: YourModel.total_pages
}.to_json
DM系列化to_json試圖調用選項提供它稱自己爲同一對象的方法(在你的情況 - 可能結果的集合,是沒有定義的方法TOTAL_PAGES)
您可以編輯JSON字符串,但據我所知,沒有簡單的方法可以將任意值注入到JSON中。
調用your_dm_resource.to_json(:methods => [:total_pages])
是正確的方式做你想做的,檢查你的some_dm_resource.total_pages
方法正在你期望的方式工作。
如果您使用的是現代的紅寶石,你可以刪除哈希火箭:
your_dm_resource.to_json(methods: [:total_pages])
感謝丹尼爾。我一直在討論total_pages方法,當我把它作爲一個類方法時(它可能因爲關係而有點適合),我無法讓它工作。你知道是否可以在to_json參數中引用本地函數,還是必須是符號? –
這正是我想要的!謝謝! –