0
私はまだRailsで自分のやり方を感じています。Rails 4 - 完成後の評価モデル - 構造
私のプロジェクトベースのアプリケーションに評価関数を追加しようとしています。
プロジェクトが完了したら、各プロジェクト参加者が評価を提出します。
私は評価モデルを持っている:私は、各ユーザーの評価を表示するには(受信)しようとしている
module Evaluatable
extend ActiveSupport::Concern
included do
has_many :received_evaluations, as: :evaluatable, dependent: :destroy, class_name: 'Evaluation'
end
end
module Evaluator
extend ActiveSupport::Concern
included do
has_many :given_evaluations, as: :evaluator, dependent: :destroy, class_name: 'Evaluation'
end
end
:
Evaluation.rb
# == Schema Information
#
# Table name: evaluations
#
# id :integer not null, primary key
# user_id :integer
# evaluatable_id :integer
# evaluatable_type :string
# overall_score :integer
# project_score :integer
# personal_score :integer
# remark :text
# work_again? :boolean
# continue_project? :boolean
# created_at :datetime not null
# updated_at :datetime not null
#
# Indexes
#
# index_evaluations_on_evaluatable_type_and_evaluatable_id (evaluatable_type,evaluatable_id) UNIQUE
#
class Evaluation < ActiveRecord::Base
# --------------- associations
belongs_to :evaluator, :polymorphic => true, class_name: 'Evaluation'
belongs_to :evaluatable, :polymorphic => true, class_name: 'Evaluation'
# --------------- scopes
# --------------- validations
# --------------- class methods
# --------------- callbacks
# --------------- instance methods
# --------------- private methods
end
私は懸念を持っていますとして:
<% Evaluation.find(params[:id]).evaluation.order('created_at DESC').each do |eval| %>
<div id="portfolioFiltering" class="masonry-wrapper row">
<%= eval.remark %>
<%= eval.personal_score %>
<small><%= eval.created_at %></small>
</div>
<% end %>
しかし、私はこのエラーを取得する:
undefined method `evaluations' for #<Evaluation:0x007ff274b13b90>
Did you mean? evaluator
evaluator=
私はエラーメッセージを理解したにもわからない、ましてやはそれについて何をすべきかを考え出しました。
誰でもこのメッセージを理解できますか?あなたの関係
:polymorphic => true,
から
なぜですか?私はプロジェクトの各パーティーが他のプロジェクト参加者を評価するようにしたい – Mel
これは私が実装しようとしているものです:http://stackoverflow.com/questions/36394489/rails-4-polymorphic-associations-and-concerns – Mel