目前陷入问题
我有一个 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,因为那些是我输出的,但它不起作用。
答案 0 :(得分:0)
我认为您理解了错误访问嵌套模型的方式。
当应用程序has_many :: answers时,@application.answers
是您可以迭代的集合。例如(在您的视图中):
<% @applications.each do |application| %>
<% application.answers.each do |answer| %>
<%= answer.text %>
<% end %>
<% end %>
(假设您的答案模型具有文本属性)。