如何显示关联模型的数据

时间:2014-06-24 09:14:26

标签: ruby-on-rails ruby-on-rails-3

目前陷入问题

我有一个 company.rb 模型 has_many:应用程序

application.rb 模型 belongs_to:公司 has_many:answers

answer.rb 模型 belongs_to:application.rb has_many:用户

user.rb 模型 has_many:answers

我允许公司创建一个应用程序。在那里他们可以输入问题。用户可以查看它们,它们的答案将存储在answer.rb中。

我现在要做的是显示已收到答案的所有current_company.applications。

我试过了:

<% @applications.all.each do |f| %>

<%= f.answers.answer_1 %><br>

<% end %>

同时拥有我的控制器:

 def applicants
   @applications = current_company.applications
 end

然而我得到了未定义的方法`answer_1&#39;。我似乎无法访问它。我这样存储: 应用程序有一个company_id,答案有一个application_id和一个user_id。

我认为按照我现在的方式行事,我能够访问当前公司创建的所有应用程序。从那里我可以在答案中查看所有application_id,因为那些是我输出的,但它不起作用。

1 个答案:

答案 0 :(得分:0)

我认为您理解了错误访问嵌套模型的方式。

当应用程序has_many :: answers时,@application.answers是您可以迭代的集合。例如(在您的视图中):

<% @applications.each do |application| %>
  <% application.answers.each do |answer| %>
     <%= answer.text %>
  <% end %>
<% end %>

(假设您的答案模型具有文本属性)。