【发布时间】:2021-08-11 12:20:58
【问题描述】:
就像一周前刚开始一样,我对 Rails 还是很陌生。我想知道是否可以呈现 json 一个对象和另一个对象的属性。我实际上不知道我是否问对了问题。
无论如何,这是我控制器中的代码:
def create
log_date = LogDate.find_or_initialize_by(date: log_params[:date])
log_date.save if log_date.new_record?
log = Log.new(log_params.except(:date))
log.log_date_id = log_date.id
if log.save
render json: log.to_json(include: :log_date), status: :created
end
我在测试代码时得到的当前响应是这样的:
{
"id": 1,
"log_date_id": 1,
"hours": 1,
"ticket_number": "1",
"description": "sample description",
"created_at": "2021-08-11T11:41:59.636Z",
"updated_at": "2021-08-11T11:41:59.636Z",
"log_date": {
"id": 1,
"date": "2021-01-01",
"max_hours": 8,
"created_at": "2021-08-11T11:36:20.853Z",
"updated_at": "2021-08-11T11:41:39.282Z"
}
}
我想要达到的至少是这样的回应,但我不知道是否有可能:
{
"id": 1,
"log_date_id": 1,
"hours": 1,
"ticket_number": "1",
"description": "sample description",
"created_at": "2021-08-11T11:41:59.636Z",
"updated_at": "2021-08-11T11:41:59.636Z",
"date": "2021-01-01"
}
底部的“日期”基本上来自log_date。我不介意它位于顶部还是底部,只要响应格式看起来像这样,而不是现在的样子。
我真的希望这是可能的,有人可以帮助我。无论如何,如果不可能,那很酷。提前谢谢!
【问题讨论】: