act_as_list Postgres Ошибка на Heroku - PullRequest
0 голосов
/ 29 июля 2010

Мы используем has_many_polymorphs вместе с act_as_list.Локально все работает нормально, но на heroku, мы получаем ошибку каждый раз, когда вызывается пара методов act_as_list.А именно те, которые обновляют ряд записей новыми позициями из-за добавления или удаления элемента в списке.

Пример метода acts_as_list:

def decrement_positions_on_higher_items(position)
        acts_as_list_class.update_all(
          "#{position_column} = (#{position_column} - 1)", "#{scope_condition} AND #{position_column} <= #{position}"
        )
      end

Пример ошибки Postgres

ActiveRecord::StatementInvalid (PGError: ERROR:  operator does not exist: character varying - integer 
LINE 1: UPDATE "ads_placements" SET position = (position - 1) WHERE ...</p>
                                                         ^

AdsPlacment.rb

acts_as_list :scope => 'placement_id=#{placement_id} AND placement_type=#{quote_value placement_type}'

1 Ответ

2 голосов
/ 30 июля 2010

Оказывается, это была ошибка типа столбца postgres. (изменяющийся символ - целое число)

...