diff --git a/app/helpers/suggestions_helper.rb b/app/helpers/suggestions_helper.rb
new file mode 100644
index 000000000..9ba97352f
--- /dev/null
+++ b/app/helpers/suggestions_helper.rb
@@ -0,0 +1,9 @@
+module SuggestionsHelper
+ def suggest_data(record)
+ {
+ js_suggest_result: "js_suggest_result",
+ js_suggest: ".js-suggest",
+ js_url: polymorphic_path(record.class, action: :suggest)
+ }
+ end
+end
diff --git a/app/views/budgets/investments/_form.html.erb b/app/views/budgets/investments/_form.html.erb
index f00bfaab7..c7c85e686 100644
--- a/app/views/budgets/investments/_form.html.erb
+++ b/app/views/budgets/investments/_form.html.erb
@@ -16,9 +16,7 @@
<%= translations_form.text_field :title,
maxlength: Budget::Investment.title_max_length,
- data: { js_suggest_result: "js_suggest_result",
- js_suggest: ".js-suggest",
- js_url: suggest_budget_investments_path(@budget) } %>
+ data: suggest_data(@investment) %>
diff --git a/app/views/debates/_form.html.erb b/app/views/debates/_form.html.erb
index ac9a0f84a..d190a5191 100644
--- a/app/views/debates/_form.html.erb
+++ b/app/views/debates/_form.html.erb
@@ -10,9 +10,7 @@
<%= translations_form.text_field :title,
maxlength: Debate.title_max_length,
placeholder: t("debates.form.debate_title"),
- data: { js_suggest_result: "js_suggest_result",
- js_suggest: ".js-suggest",
- js_url: suggest_debates_path } %>
+ data: suggest_data(@debate) %>
diff --git a/app/views/proposals/_form.html.erb b/app/views/proposals/_form.html.erb
index 60cc80f84..44b14fc59 100644
--- a/app/views/proposals/_form.html.erb
+++ b/app/views/proposals/_form.html.erb
@@ -9,9 +9,7 @@
<%= translations_form.text_field :title,
maxlength: Proposal.title_max_length,
- data: { js_suggest_result: "js_suggest_result",
- js_suggest: ".js-suggest",
- js_url: suggest_proposals_path } %>
+ data: suggest_data(@proposal) %>