1

アプリ内でドラッグ アンド ドロップの並べ替え機能を許可したいと考えています。私はacts_as_listでこれを行うことができることを認識しており、Rails Recipeに従っています。ただし、アプリのビルド方法が原因で、別のモデル内のネストされたアイテムから作成時に位置フィールドを継承するため、並べ替えたいアイテムはacts_as_listを使用できません。私がacts_as_listを使用すると、これは位置の値を上書きするように見えます。つまり、親モデルで設定された順序が失われ、子の位置がランダムになります。

だから私は2つの質問があると思います:

Acts_As_List を使用せずに Ajax スタイルのドラッグ アンド ドロップ再注文機能を構築できますか?

また

作成時にacts_as_listを無効にし、それ以外の場合は有効にするモデルに何らかのif文を入れることはできますか? 次のようなもの (コードではなく英語):

if method = create
  child.position = parent.position
else
  acts_as_list
end
4

3 に答える 3

1

ランクモデルはオプションです。使用例:

class Duck < ActiveRecord::Base

  include RankedModel
  ranks :row_order

end
于 2012-08-27T12:32:40.890 に答える
0

act_as_list で呼び出される before_save 関数をオーバーライドするだけです。

class Duck < ActiveRecord::Base

  private

  def add_to_list_bottom
    # leave blank to override default acts_as_list before_save function
  end

end
于 2012-12-10T18:31:58.643 に答える
0

jquery UIには、ドラッグ可能でソート可能なように、何らかのプラグイン/モジュールがあり、ユーザーが保存する前にリフレッシュした場合に、ajaxを使用してその位置を記録できる成功メソッドがあると確信しています。その位置を「リスト」に保存します。

于 2012-05-17T12:23:50.123 に答える