【发布时间】:2014-03-18 05:45:00
【问题描述】:
我有 3 个表格(元素、类别、关系)。 表元素和关系具有属性“id”和“name”。 关系表(元素和类别之间的多对多关系)具有“类型”属性。
我想知道获得一个类别的最佳方法是什么,其中包含与之相关的所有元素和关系类型(它用于休息 api)。
谢谢
【问题讨论】:
标签: ruby-on-rails api rest
我有 3 个表格(元素、类别、关系)。 表元素和关系具有属性“id”和“name”。 关系表(元素和类别之间的多对多关系)具有“类型”属性。
我想知道获得一个类别的最佳方法是什么,其中包含与之相关的所有元素和关系类型(它用于休息 api)。
谢谢
【问题讨论】:
标签: ruby-on-rails api rest
不确定我是否完全按照。如果您只是在寻找更简单的 json/xml 响应。也许是这样的?
class Category
def relationships
relations.map { |r| {type: r.type, element: r.element} }
end
def serializable_hash(options={})
defaults = { methods: [:relationships] }
super(defaults.update(options))
end
enf
class CategoriesController
def show
@category = Category.find(params[:id])
render json: @category
end
end
【讨论】:
尚未对此进行测试,但是:
my_category = Category.first
my_category.relations.each do |relate|
puts relate.type
puts "********"
relate.elements.each do |elem|
puts elem.name
puts ""
puts ""
end
end
当然,如果您在部分或视图中呈现它,您可以用适当的标记替换 puts。
【讨论】: