Relationable find_related_content should not be used to find, refactored to have a single purpose
This commit is contained in:
@@ -7,7 +7,7 @@ class RelatedContentsController < ApplicationController
|
||||
|
||||
def create
|
||||
if relationable_object && related_object
|
||||
@relationable.relate_content(@related)
|
||||
RelatedContent.create(parent_relationable: @relationable, child_relationable: @related)
|
||||
|
||||
flash[:success] = t('related_content.success')
|
||||
else
|
||||
|
||||
@@ -5,8 +5,8 @@ module Relationable
|
||||
has_many :related_contents, as: :parent_relationable, dependent: :destroy
|
||||
end
|
||||
|
||||
def relate_content(relationable)
|
||||
RelatedContent.find_or_create_by(parent_relationable: self, child_relationable: relationable)
|
||||
def find_related_content(relationable)
|
||||
RelatedContent.where(parent_relationable: self, child_relationable: relationable).first
|
||||
end
|
||||
|
||||
def relationed_contents
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<ul class="related-content-list" id="related-content-list">
|
||||
<% @related_contents.each do |related| %>
|
||||
<li id="related-content-<%= related.relate_content(relationable).id %>">
|
||||
<li id="related-content-<%= related.find_related_content(relationable).id %>">
|
||||
<% if current_user %>
|
||||
<span id="<%= dom_id(related.relate_content(relationable)) %>" class="js-score-actions score-actions">
|
||||
<%= render 'relationable/score', related: related.relate_content(relationable) %>
|
||||
<span id="<%= dom_id(related.find_related_content(relationable)) %>" class="js-score-actions score-actions">
|
||||
<%= render 'relationable/score', related: related.find_related_content(relationable) %>
|
||||
</span>
|
||||
<% end %>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user