diff --git a/app/components/relationable/related_list_component.html.erb b/app/components/relationable/related_list_component.html.erb
index bb59d85e5..f377cf0a1 100644
--- a/app/components/relationable/related_list_component.html.erb
+++ b/app/components/relationable/related_list_component.html.erb
@@ -6,7 +6,7 @@
<%= t("related_content.content_title.#{related.model_name.singular}") %>
- <%= link_to related.title, related.url %>
+ <%= link_to related.title, polymorphic_path(related) %>
<% if current_user && related_content.author != current_user && !related_content.scored_by_user?(current_user) %>
diff --git a/app/models/budget/investment.rb b/app/models/budget/investment.rb
index 13ffaf18d..50a403eba 100644
--- a/app/models/budget/investment.rb
+++ b/app/models/budget/investment.rb
@@ -2,7 +2,6 @@ class Budget
class Investment < ApplicationRecord
SORTING_OPTIONS = { id: "id", supports: "cached_votes_up" }.freeze
- include Rails.application.routes.url_helpers
include Measurable
include Sanitizable
include Taggable
@@ -123,10 +122,6 @@ class Budget
comments.count
end
- def url
- budget_investment_path(budget, self)
- end
-
def self.sort_by_title
all.sort_by(&:title)
end
diff --git a/app/models/debate.rb b/app/models/debate.rb
index 5341197f7..532144805 100644
--- a/app/models/debate.rb
+++ b/app/models/debate.rb
@@ -1,7 +1,6 @@
require "numeric"
class Debate < ApplicationRecord
- include Rails.application.routes.url_helpers
include Flaggable
include Taggable
include Conflictable
@@ -53,10 +52,6 @@ class Debate < ApplicationRecord
attr_accessor :link_required
- def url
- debate_path(self)
- end
-
def self.recommendations(user)
tagged_with(user.interests, any: true).where.not(author_id: user.id)
end
diff --git a/app/models/proposal.rb b/app/models/proposal.rb
index 746b86b2c..3f1ff98e3 100644
--- a/app/models/proposal.rb
+++ b/app/models/proposal.rb
@@ -1,5 +1,4 @@
class Proposal < ApplicationRecord
- include Rails.application.routes.url_helpers
include Flaggable
include Taggable
include Conflictable
@@ -88,10 +87,6 @@ class Proposal < ApplicationRecord
scope :draft, -> { where(published_at: nil) }
scope :created_by, ->(author) { where(author: author) }
- def url
- proposal_path(self)
- end
-
def publish
update!(published_at: Time.current)
send_new_actions_notification_on_published
diff --git a/spec/shared/system/relationable.rb b/spec/shared/system/relationable.rb
index 7932f46bb..725c4aef2 100644
--- a/spec/shared/system/relationable.rb
+++ b/spec/shared/system/relationable.rb
@@ -8,25 +8,25 @@ shared_examples "relationable" do |relationable_model_name|
scenario "related contents are listed" do
create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
- visit relationable.url
+ visit polymorphic_path(relationable)
within("#related-content-list") do
expect(page).to have_content related1.title
end
- visit related1.url
+ visit polymorphic_path(related1)
within("#related-content-list") do
expect(page).to have_content relationable.title
end
end
scenario "related contents list is not rendered if there are no relations" do
- visit relationable.url
+ visit polymorphic_path(relationable)
expect(page).not_to have_css "#related-content-list"
end
scenario "related contents can be added" do
login_as(user)
- visit relationable.url
+ visit polymorphic_path(relationable)
expect(page).not_to have_css "#related_content"
expect(page).to have_css ".add-related-content[aria-expanded='false']"
@@ -36,7 +36,7 @@ shared_examples "relationable" do |relationable_model_name|
expect(page).to have_css ".add-related-content[aria-expanded='true']"
within("#related_content") do
- fill_in "Link to related content", with: "#{url}#{related1.url}"
+ fill_in "Link to related content", with: "#{url}#{polymorphic_path(related1)}"
click_button "Add"
end
@@ -44,7 +44,7 @@ shared_examples "relationable" do |relationable_model_name|
expect(page).to have_content related1.title
end
- visit related1.url
+ visit polymorphic_path(related1)
within("#related-content-list") do
expect(page).to have_content relationable.title
@@ -53,7 +53,7 @@ shared_examples "relationable" do |relationable_model_name|
click_button "Add related content"
within("#related_content") do
- fill_in "Link to related content", with: "#{url}#{related2.url}"
+ fill_in "Link to related content", with: "#{url}#{polymorphic_path(related2)}"
click_button "Add"
end
@@ -64,7 +64,7 @@ shared_examples "relationable" do |relationable_model_name|
scenario "if related content URL is invalid returns error" do
login_as(user)
- visit relationable.url
+ visit polymorphic_path(relationable)
click_button "Add related content"
@@ -78,12 +78,12 @@ shared_examples "relationable" do |relationable_model_name|
scenario "returns error when relating content URL to itself" do
login_as(user)
- visit relationable.url
+ visit polymorphic_path(relationable)
click_button "Add related content"
within("#related_content") do
- fill_in "Link to related content", with: url + relationable.url.to_s
+ fill_in "Link to related content", with: url + polymorphic_path(relationable)
click_button "Add"
end
@@ -102,7 +102,7 @@ shared_examples "relationable" do |relationable_model_name|
related = create(:debate, title: "My path is the only one I've walked")
login_as(user)
- visit relationable.url
+ visit polymorphic_path(relationable)
click_button "Add related content"
@@ -120,12 +120,12 @@ shared_examples "relationable" do |relationable_model_name|
scenario "returns an error when the related content already exists" do
create(:related_content, parent_relationable: relationable, child_relationable: related1)
login_as(user)
- visit relationable.url
+ visit polymorphic_path(relationable)
click_button "Add related content"
within("#related_content") do
- fill_in "url", with: url + related1.url.to_s
+ fill_in "url", with: url + polymorphic_path(related1)
click_button "Add"
end
@@ -136,7 +136,7 @@ shared_examples "relationable" do |relationable_model_name|
related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
login_as(user)
- visit relationable.url
+ visit polymorphic_path(relationable)
within("#related-content-list") do
click_link "Yes"
@@ -153,7 +153,7 @@ shared_examples "relationable" do |relationable_model_name|
related_content = create(:related_content, parent_relationable: relationable, child_relationable: related1, author: build(:user))
login_as(user)
- visit relationable.url
+ visit polymorphic_path(relationable)
within("#related-content-list") do
click_link "No"
@@ -179,7 +179,7 @@ shared_examples "relationable" do |relationable_model_name|
login_as(user)
- visit relationable.url
+ visit polymorphic_path(relationable)
expect(page).not_to have_css "#related-content-list"
end