我正试图弄清楚如何在我的视图中显示关联数据的集合。
我有用户,个人资料和评估模型。
协会是:
用户
has_one :profile
has_many :given_evaluations, foreign_key: :evaluator_id, dependent: :destroy, class_name: Evaluation
has_many :received_evaluations, foreign_key: :evaluatee_id, dependent: :destroy, class_name: Evaluation
个人资料
belongs_to :user
评估
belongs_to :evaluator, foreign_key: :evaluator_id, class_name: User
belongs_to :evaluatee, foreign_key: :evaluatee_id, class_name: User
在我的个人资料展示中,我正在尝试显示用户收到的评估。我认为以下是正确的,虽然它不起作用。
<% @profile.user.received_evaluations.each do | receval | %>
<ul class="testimonial-slider text-white text-center">
<li>
<div class="testimonial-content">
<%= receval.remark %>
</div>
我可以在我的rails控制台中看到,该用户已收到1个评估:
p.user.received_evaluations
=> #<ActiveRecord::Associations::CollectionProxy [#<Evaluation id: 4, evaluatee_id: 34, overall_score: nil, project_score: nil, personal_score: nil, remark: "testing", work_again?: nil, continue_project?: nil, created_at: "2016-06-03 08:15:04", updated_at: "2016-06-03 08:15:04", evaluator_id: nil>]>
评估中的评论是“测试”。
当我尝试此操作时 - 配置文件视图呈现,但注释未显示。这只是一个空白的视图。
谁能看到我做错了什么?
我已经尝试了以下每个代码(没有html和样式),但在每种情况下,我得到一个“没有方法错误的备注”。我无法弄清楚错误信息的含义 - 评论不是一种方法。
<%= @profile.user.received_evaluations.first.try(:remark) %>
<%= @profile.user.received_evaluations.try(:remark) %>
<%= @profile.user.received_evaluations.remark %>