我正在创建一个应用程序,用户可以在其中使用ROR后端API和React前端跟踪用药记录。 我有一个名为current_drugs的联接表。这是我的模型文件的代码。
create_table "current_drugs", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
t.integer "user_id"
t.integer "current_drug_id"
t.date "to"
t.date "from"
t.string "memo"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
下面是我的模型文件。
user.rb
has_many :current_drugs
has_many :current_drug, :through => :current_drugs
drug.rb
has_many :currents, :class_name => "CurrentDrug", :foreign_key => "current_drug_id"
current_drug.rb
belongs_to :user
belongs_to :current_drug, :class_name => "Drug"
我的问题是,是否存在一种聪明的方式来渲染json,其中将current_drug_id替换为药物名称。
当前,我正在调用User.current_drug,它返回一系列药物。但我也想表明该药物的最新日期。我能想到的就是CurrentDrug.where(user_id:user.id),它会返回类似的内容。
[
{
"id": 1,
"user_id": 2,
"current_drug_id": 22000,
"to": "2019-01-01",
"from": "2018-12-25",
"memo": "Diabetes",
"created_at": "2019-03-04T13:09:59.000Z",
"updated_at": "2019-03-04T13:09:59.000Z"
},
{
"id": 2,
"user_id": 2,
"current_drug_id": 11000,
"to": "2019-01-01",
"from": "2018-12-25",
"memo": "Hypertension",
"created_at": "2019-03-04T13:10:05.000Z",
"updated_at": "2019-03-04T13:10:05.000Z"
}
]
如何用药物名称替换current_drug_id部分? 我先谢谢你们。