Ruby On Rails - 如何从其父级访问子级?

时间:2015-08-07 10:53:09

标签: ruby-on-rails ruby ruby-on-rails-4 erb

我正在努力寻找一种方法来访问其中的一个子属性。家长。我有这两个模型:

class SuspendedCompany < ActiveRecord::Base
  has_many  :cases
end


class Case < ActiveRecord::Base
  belongs_to :suspended_company
end

我想从SuspendedCompany访问Case的名字。在我的SuspendedComany控制器中,我尝试了这样的连接:

@case = Case.joins(:suspended_company).where(...)

2 个答案:

答案 0 :(得分:3)

我相信您正在SuspendedCompany控制器中找到一家公司

@suspended_company = SuspendedCompany.find(params[:id])

为了能够在没有其他查询的情况下访问视图中的案例,您可以将其转换为

@suspended_company = SuspendedCompany.includes(:cases).find(params[:id])

然后在你看来你可以做到

@suspended_company.cases.map(&:name)

答案 1 :(得分:3)

在SuspendedCompany的控制器索引中写

@cases = @SuspendedCompany.cases

在SuspendedCompany的索引视图中

<% @cases.each do |case| %>
   <%= case.name %>
<% end %>