diff --git a/app/controllers/admin/universal_tables_controller.rb b/app/controllers/admin/universal_tables_controller.rb
index d3f07e3..0dd0b5d 100755
--- a/app/controllers/admin/universal_tables_controller.rb
+++ b/app/controllers/admin/universal_tables_controller.rb
@@ -316,8 +316,11 @@ end
params.require(:u_table).permit!
end
- def table_entry_params
- params.require(:table_entry).permit!
+ def table_entry_params
+ p = params.require(:table_entry).permit!
+ if p[:related_entries].is_a?(Array)
+ p[:related_entries] = p[:related_entries].reject(&:blank?).join(",")
+ end
+ p
end
-
end
diff --git a/app/views/admin/universal_tables/_entry_form.html.erb b/app/views/admin/universal_tables/_entry_form.html.erb
index d19cbd5..b10b66b 100755
--- a/app/views/admin/universal_tables/_entry_form.html.erb
+++ b/app/views/admin/universal_tables/_entry_form.html.erb
@@ -34,7 +34,7 @@
<%= t("universal_table.related_entries") %>
- <%= f.text_field :related_entries, :class => "select2", data: { value: tbData } %>
+ <%= f.select :related_entries, options_for_select(tbData.map { |d| [d[:text], d[:id]] }, tbData.map { |d| d[:id] }), {}, { multiple: "multiple", class: "select2" } %>
<% @columns.each_with_index do |column, index| %>
@@ -72,7 +72,6 @@ $("#universal_table_tags").select2({
});
$("#universal_table_tags").val(<%= raw(@entry.table_tags. collect { |tag| tag.id.to_s }) %>).trigger("change");
- const preselectedData = $("#table_entry_related_entries").data('value');
var select2Options = {
maximumSelectionSize: 10,
minimumResultsForSearch: Infinity,
@@ -86,27 +85,26 @@ $("#universal_table_tags").select2({
allowClear: false,
dataType: 'json',
delay: 250,
- data: function (term) {
- return { q: term };
+ data: function (params) {
+ return { q: params.term };
},
- results: function(data, page) {
+ processResults: function(data, params) {
return {
results: data
};
},
cache: false
},
- formatResult: function(i) {
+ templateResult: function(i) {
return '' + i.text + '
';
},
- formatSelection: function(i) {
+ templateSelection: function(i) {
return '' + i.text + '
';
- },
+ },
escapeMarkup: function(m) {
return m;
}
}
$("#table_entry_related_entries").select2(select2Options);
- $("#table_entry_related_entries").select2('data', preselectedData);
-
\ No newline at end of file
+