Я пытаюсь добавить модель Evaluation
в мое приложение Rails 4
.Rails 4 Полиморфные ассоциации и проблемы
Я сделал модель под названием evaluation.rb
. Он имеет:
class Evaluation < ActiveRecord::Base
belongs_to :evaluator, :polymorphic => true
belongs_to :evaluatable, :polymorphic => true
Я также сделал проблемы для evaluator
и evaluatable
как:
module Evaluator
extend ActiveSupport::Concern
included do
has_many :given_evaluations, as: :evaluator, dependent: :destroy, class_name: 'Evaluation'
end
end
module Evaluatable
extend ActiveSupport::Concern
included do
has_many :received_evaluations, as: :evaluatable, dependent: :destroy, class_name: 'Evaluation'
end
end
Я включил каждое беспокойство в моей модели пользователя:
class User < ActiveRecord::Base
include Evaluator
include Evaluatable
В моих шоу-странице, Я хочу показать оценки конкретного пользователя (полученные от других пользователей, которые являются оценщиками).
В моем шоу, у меня есть:.
<% Evaluation.find(params[:id]).evaluations.order('created_at DESC').each do |eval| %>
<div id="portfolioFiltering" class="masonry-wrapper row">
<%= eval.remark %>
<%= eval.personal_score %>
<small><%= eval.created_at %></small>
В моей форме оценок, я "не уверен, как назначить получатель оценки я сделал основную форму, но я не ясно, . о том, как привязать его к пользователю, который должен получить оценку
<%= simple_form_for(@evaluation) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :score, collection: 1..10, autofocus: true, :label => "How do you rate this experience (1 being did not meet expectations - 10 being met all expectations) ?" %>
<%= f.input :remark, as: :text, :label => "Evaluate your project experience", :input_html => {:rows => 10} %>
Моя оценка таблица имеет:
t.integer "user_id"
t.integer "evaluatable_id"
t.string "evaluatable_type"
t.integer "overall_score"
t.integer "project_score"
t.integer "personal_score"
t.text "remark"
t.boolean "work_again?"
t.boolean "continue_project?"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
add_index "evaluations", ["evaluatable_type", "evaluatable_id"], name: "index_evaluations_on_evaluatable_type_and_evaluatable_id", unique: true, using: :btree
ВОПРОСЫ
Как настроить страницу показа, чтобы отобразить полученные оценки пользователя?
Как адаптировать форму так, чтобы она указывала идентификатор пользователя как человека, который должен получить оценку?
Отличный вопрос, и вы хорошо объясняете свои проблемы .. позволяет узнать, помогает ли кто-нибудь – illusionist
Вы собираетесь использовать 'Оценка 'для оценки объектов, отличных от пользователей? Основываясь на вашем ответе, ответ можно упростить. –
Да. Я хочу оценить проекты, которые делают пользователи – Mel