2016-05-28 4 views
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, 

から

答えて

0

削除これは、ここでは、polymorphics関係を使用するべき物品です。 http://guides.rubyonrails.org/association_basics.html#polymorphic-associations

+0

なぜですか?私はプロジェクトの各パーティーが他のプロジェクト参加者を評価するようにしたい – Mel

+0

これは私が実装しようとしているものです:http://stackoverflow.com/questions/36394489/rails-4-polymorphic-associations-and-concerns – Mel