1
我正在使用acts_as_list gem,但是在創建新對象時,位置應該自動增加大小和順序位置ASC。rails acts_as_list位置自動增量
LessonPage型號
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.如何解決這個問題? 謝謝!!
您使用的是什麼版本acts_as_list的?我認爲這是通過此提交修復的(https://github.com/swanandp/acts_as_list/commit/f233643018ad9a2791bba0cf6dd48ff90633230e)更新:哦,我明白了。此提交後沒有釋放。我認爲你應該使用github的代碼。 –
你是天使!它工作正確:git repo! –
真棒!請接受下面的答案。 –