Rails在to_json方法中重命名嵌套的资源

时间:2019-01-21 16:40:18

标签: ruby-on-rails json vue.js

我的html.erb中有以下内容

<v-attendance
    :vlogs="<%= @logs.to_json(include: {:attendance_records})%>"
></v-attendance>

这会将我的@logs传递给我的vue组件,并包括相关的Attenance_records,该记录很可爱,并且生成的JSON如下:

attendance_log
    id:1
    ...
    attendance_records:[
        id:1
        ...
    ]

在AttendanceLog模型上,我使用accepts_nested_attributes_for :attendance_records

这意味着当我从vue组件提交更新的数据时,我的JSON需要如下所示:

attendance_log
    id:1
    ...
    attendance_records_attributes:[
        id:1
        ...
    ]

但是,为了省去我在vue组件中重命名对象键的麻烦,我想将它们命名为开头,如下所示:

 <v-attendance
    :vlogs="<%= @logs.to_json(include: :attendance_records,
                              as: 'attendance_records_attributes')%>"
></v-attendance>

有人知道这是否可能吗,如果可以,我如何实现呢?

预先感谢

0 个答案:

没有答案