我有一个愚蠢的问题。
我在DB中有2个表,在一个表中(例如:report)我有来自表“仓库”的外键。我想在报告中找到仓库的名称。
我使用此方法从其他表中查找内容:
@report = ReportMain.find(params[:id])
@warehouse = Warehouse.find(@report.warehouse_id).name
我的问题是,有一些最简单的方法吗?
答案 0 :(得分:0)
取决于这些表之间的关系:
@warehouse = @report.warehouse
如果仓库为belongs_to
到报表,报表has_one
或has_many
仓库,则会有效。请务必查看Ruby on Rails指南中的Association Basics,这是一个很棒的阅读。
答案 1 :(得分:0)
为了利用Rails的“魔力”,您需要在模型中设置关联。
在ReportMain
模型中,输入:
belongs_to: warehouse
在Warehouse
模型中,输入:
has_one :report_main
然后,您可以执行以下操作:
@warehouse = @report.warehouse