1
所以,我有這個系統我正在使用rails 4和葡萄Api。基本上它彙總了關於在車輛上執行的維護服務的信息。我的模型是這樣定義的:Grape api - 如何發佈嵌套資源?
# service.rb
class Service < ActiveRecord::Base
has_many :service_items
#service_item.rb
class ServiceItem < ActiveRecord::Base
belongs_to :service
我在實現一個API,因此外部應用程序可以在我的系統上發佈服務。每個服務都有一個或多個關聯服務項目的列表。我有一個路由,如:example.com/api/v1/services for POST。我的問題是,如何讓它接受一個包含服務屬性和service_items屬性嵌套的帖子?
我讀葡萄文檔,開始是這樣的:
#service_providers_api.rb
resource :services do
desc "Post a Service"
params do
#requires :category_id, type: Integer
requires :description, type: String
requires :plate, type: String
requires :mileage, type: Integer
requires :date, type: Date
optional :cost, type: BigDecimal
requires :service_items do
requires :description, type: Integer
end
end
post do
.
.
.
end
end
但是我不知道我怎麼能安裝後的數據爲這個工作。 是否可以像這樣在單個請求中完成所有這些操作,還是必須將每個請求分開?例如一個POST接收服務,然後爲每個關聯的service_item提供一系列POST。在這種情況下推薦的最佳方法是什麼?