Ruby 关于 Rails 葡萄 API 省略属性

Ruby on Rails Grape API omitting attributes

我正在 RoR 中构建葡萄 API,并且我正在尝试为我的模型创建一个 GET 端点,但是 user_id、created_at 和 updated_at 属性从实际 JSON 对象中被切断。

这是我的终点:

resource :pairings do
  desc 'Gets all pairings from database'
  get do
    Pairing.all
  end
end

配对模型如下所示:

create_table "pairings", force: :cascade do |t|
  t.string "dumb_unit_id", null: false
  t.string "smart_unit_id", null: false
  t.datetime "created_at", precision: 6, null: false
  t.datetime "updated_at", precision: 6, null: false
  t.integer "user_id", null: false
  t.index ["dumb_unit_id"], name: "index_pairings_on_dumb_unit_id", unique: true
  t.index ["smart_unit_id"], name: "index_pairings_on_smart_unit_id", unique: true
end

配对在 API 的响应中最终看起来像这样:

{"id"=>979, "dumb_unit_id"=>"wu5qg63k6c1iz", "smart_unit_id"=>"rjnc8yg53j29c"}

没有 user_id 或时间戳。

我发现了问题。我有一个自动生成的序列化程序,它只将 :id、:dumb_unit_id 和 :smart_unit_id 定义为属性。在此文件中添加 :user_id 作为属性解决了问题。