app/models/effective/effective_datatable/options.rb in effective_datatables-2.1.15 vs app/models/effective/effective_datatable/options.rb in effective_datatables-2.1.16

- old
+ new

@@ -6,10 +6,14 @@ def initialize_options @table_columns = initialize_column_options(@table_columns) end + def quote_sql(name) + collection_class.connection.quote_column_name(name) rescue name + end + protected def initialize_column_options(cols) sql_table = (collection.table rescue nil) @@ -45,11 +49,11 @@ cols[name][:array_column] ||= false cols[name][:array_index] = index # The index of this column in the collection, regardless of hidden table_columns cols[name][:name] ||= name cols[name][:label] ||= name.titleize - cols[name][:column] ||= (sql_table && sql_column) ? "\"#{sql_table.name}\".\"#{sql_column.name}\"" : name + cols[name][:column] ||= (sql_table && sql_column) ? "#{quote_sql(sql_table.name)}.#{quote_sql(sql_column.name)}" : name cols[name][:width] ||= nil cols[name][:sortable] = true if cols[name][:sortable].nil? cols[name][:visible] = true if cols[name][:visible].nil? # Type @@ -87,10 +91,10 @@ end # EffectiveRoles, if you do table_column :roles, everything just works if name == 'roles' && defined?(EffectiveRoles) && collection.respond_to?(:with_role) cols[name][:sortable] = true - cols[name][:column] = sql_table.present? ? "\"#{sql_table.name}\".\"roles_mask\"" : name + cols[name][:column] = sql_table.present? ? "#{quote_sql(sql_table.name)}.#{quote_sql('roles_mask')}" : name cols[name][:type] = :effective_roles end if sql_table.present? && sql_column.blank? # This is a SELECT AS column cols[name][:sql_as_column] = true