Ruby on rails 3 关系与活动记录
我有一个愚蠢的问题 我在DB中有两个表,在一个表(例如:report)中有来自表“warehouse”的外键。我想在我的报告中得到仓库的名称 我使用此方法从其他表中查找:Ruby on rails 3 关系与活动记录,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,我有一个愚蠢的问题 我在DB中有两个表,在一个表(例如:report)中有来自表“warehouse”的外键。我想在我的报告中得到仓库的名称 我使用此方法从其他表中查找: @report = ReportMain.find(params[:id]) @warehouse = Warehouse.find(@report.warehouse_id).name 我的问题是,有什么最简单的方法可以做到这一点 根据这些表之间的关系: @warehouse = @report.warehouse 如
@report = ReportMain.find(params[:id])
@warehouse = Warehouse.find(@report.warehouse_id).name
我的问题是,有什么最简单的方法可以做到这一点 根据这些表之间的关系:
@warehouse = @report.warehouse
如果一个仓库
属于一个报告,并且一个报告有一个或有多个仓库,则该方法将起作用。请务必查看RubyonRails指南中的,这是一本很棒的书。为了利用Rails的“魔力”,您需要在模型中设置关联
在您的ReportMain
模型中,放置:
belongs_to: warehouse
has_one :report_main
在您的仓库
模型中,放置:
belongs_to: warehouse
has_one :report_main
然后,您可以执行以下操作:
@warehouse = @report.warehouse
仓库有多个:报告,报告属于:仓库。这是一对多的关系。如果一份报告属于仓库,我的答案仍然正确,并且应该像预期的那样有效。