#ruby-on-rails #ruby #ruby-on-rails-3
#ruby-on-rails #ruby #ruby-on-rails-3
Вопрос:
Я использую драгоценный камень acts_as_list, но при создании нового объекта позиция должна автоматически увеличиваться в размере и упорядочивать позицию ASC.
Модель страницы урока
class LessonPage < ActiveRecord::Base
acts_as_list :scope => 'lesson_id = #{lesson_id}'
default_scope order('position ASC')
end
Выберите
SELECT "lesson_pages".* FROM "lesson_pages" ORDER BY position ASC, "lesson_pages".id desc
Сначала вставить
INSERT INTO "lesson_pages" ("created_at", "lesson_id", "position", "updated_at") VALUES (?, ?, ?, ?) [["created_at", Sun, 16 Oct 2011 11:55:27 CEST 02:00], ["lesson_id", 2], ["position", 1], ["updated_at", Sun, 16 Oct 2011 11:55:27 CEST 02:00]]
Второй
INSERT INTO "lesson_pages" ("created_at", "lesson_id", "position", "updated_at") VALUES (?, ?, ?, ?) [["created_at", Sun, 16 Oct 2011 11:57:15 CEST 02:00], ["lesson_id", 2], ["position", 2], ["updated_at", Sun, 16 Oct 2011 11:57:15 CEST 02:00]]
Третий
INSERT INTO "lesson_pages" ("created_at", "lesson_id", "position", "updated_at") VALUES (?, ?, ?, ?) [["created_at", Sun, 16 Oct 2011 11:58:13 CEST 02:00], ["lesson_id", 2], ["position", 2], ["updated_at", Sun, 16 Oct 2011 11:58:13 CEST 02:00]]
Здесь это не удается, потому что позиция должна быть 3, а не 2. Как мне это исправить?
Спасибо!!
Комментарии:
1. какую версию acts_as_list вы используете? Я думаю, что это было исправлено этим коммитом ( github.com/swanandp/acts_as_list/commit /… ) ОБНОВЛЕНИЕ: О, я понимаю. После этого коммита релиз не выполняется. Я думаю, вам следует использовать код из github.
2. Ты ангел! Он работает правильно из репозитория: git!
Ответ №1:
Я думаю, что это было исправлено этим коммитом, но после этого исправления релиза нет. Я думаю, вам следует использовать код из github.
используйте это:
gem 'acts_as_list', :git => 'https://github.com/swanandp/acts_as_list.git'
Комментарии:
1. Этот драгоценный камень использует новый стиль хэша, который не поддерживается старым ruby 1.8.7. Поэтому мне пришлось использовать код этого коммита (который был указан в вашем комментарии к вопросу) в качестве исправления для обезьяны. Было очень полезно. Спасибо.