我的项目要求现在迫使我将参数传递给嵌套实体。 我有一个实体 A 和一个实体 B,它们显示一些信息并且需要系统上的 A 标识符来构建它们。
module Services
module Trips
class TripPreviewResponseEntity < Grape::Entity
expose :id
expose :title
expose :duration
expose :total_price
expose :description
expose :details
expose :destinations, using: Destinations::DestinationResponseEntity
end
end
end
在上面的例子中我想做这样的事情:
expose :destinations, using: Destinations::DestinationResponseEntity, :trip_id => object.id
并在嵌套实体中以这种方式使用 trip_id 参数选项:
expose :trip_info do |item,options|
item.show(options[:trip_id])
end
但是说对象没有定义到实体中是失败的。有没有办法执行此操作? 有什么想法吗?
最佳答案
module Services
module Trips
class TripPreviewResponseEntity < Grape::Entity
expose :id
expose :title
expose :duration
expose :total_price
expose :description
expose :details
expose :destinations do |trip, _options|
DestinationResponseEntity.represent(trip.destinations, trip_id: trip.id)
end
end
end
end
关于ruby-on-rails - 将参数传递给葡萄实体模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27428211/