我想在我的应用程序中允许拖放重新排序功能。我知道我可以使用acts_as_list 来做到这一点,并且已经遵循了Rails 食谱。但是,由于我的应用程序的构建方式,我想要重新排序的项目不能使用acts_as_list,因为它从另一个模型中的嵌套项目继承了它的位置字段。当我使用acts_as_list时,这似乎覆盖了位置值,这意味着父模型中设置的顺序丢失,子位置是随机的。
所以我想我有两个问题:
我可以在没有 Acts_As_List 的情况下构建 Ajax 样式的拖放重新排序工具吗?
或者
我可以在模型中添加某种 if 语句以在创建时禁用acts_as_list 但在所有其他时间启用?类似的东西(英文而不是代码):
if method = create
child.position = parent.position
else
acts_as_list
end