У меня есть две пользовательские модели: Company
& Freelancer
.Каждый дает звездный рейтинг другому в конце транзакции.Я пытался использовать ratyrate
драгоценный камень.Но это допускает только одну rater
модель.Есть ли способ добиться этого?Ratyrate генерирует следующие модели, принимая User
модель как rater
:
class Rate < ActiveRecord::Base
belongs_to :rater, :class_name => "User"
belongs_to :rateable, :polymorphic => true
end
class RatingCache < ActiveRecord::Base
belongs_to :cacheable, :polymorphic => true
end
class AverageCache < ActiveRecord::Base
belongs_to :rater, :class_name => "User"
belongs_to :rateable, :polymorphic => true
end
class OverallAverage < ActiveRecord::Base
belongs_to :rateable, :polymorphic => true
end
Я сделал следующее:
class Rate < ActiveRecord::Base
belongs_to :rater, :class_name => "Company"
belongs_to :rateable, :polymorphic => true
end
class Company < ActiveRecord::Base
ratyrate_rater
end
class Freelancer < ActiveRecord::Base
ratyrate_rateable "performance"
end
На мой взгляд, у меня есть:
<%= rating_for @freelancer, 'performance' %>
Но это только позволяет компаниям оценивать фрилансеров.Как я могу добиться этого двумя способами, чтобы оба могли оценивать друг друга?