問題タブ [acts-as-list]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - ActiveRecord で深くネストされたコレクションをソートする方法は?
私は音楽を管理する Rails アプリを作成しています。このアプリのユーザーは、アルバムの順序付けられたプレイリストを作成でき、各アルバムには順序付けられた曲のリストが含まれます。
本質的に、これは次のようになります。
(私は、曲とプレイリストのテーブルacts_as_list
の列を使用してposition
、曲とプレイリストの並べ替え順序をそれぞれ管理しています。)
ここで、特定のユーザーのすべての曲のリストを (順番に) 見つけたいと思います。このスコープをSongモデルに追加すると、次のようになります。
私はそれを行うことができますが、返されたレコードは整理されていません。代わりに、各曲を最初にユーザーのアルバムのプレイリストの位置で並べ替え、次にそのアルバム内の曲の位置で並べ替えたいと思います。つまり、ユーザーがアルバム A、B、C を順番に再生したい場合、A のすべての曲 (アルバムにある順序で) と B のすべての曲の配列を探しています。 (順番に)、プラスCからのすべての曲(順番に)。
スコープ内の順序句とグループ句のいくつかの順列を試しましたが、アルバムの順序付けのコンテキスト内で曲を順序付けするという望ましい効果はありませんでした。
ruby-on-rails - リソースがupdate_attributesで更新されたときに、acts_as_listはアイテムを自動的に並べ替える必要がありますか?
rails 3.1でacts_as_listプラグインを使用しており、リソースを追加または削除するたびに、既存の位置が正常に順序付けられ、更新されます。ただし、update_attributesを使用してリソースの位置を更新すると、並べ替えが行われないように見え、位置が重複しているリソースが残る可能性があります。これはacts_as_listの正しい動作ですか?
説明を探しましたが、このプラグインに関するドキュメントは本当に限られています。
この段階ではJavaScriptを使用していません。位置は、適切に制限された範囲を持つ選択ボックスを使用して簡単に決定されます。
ありがとう
ruby - オブジェクトの配列をループし、位置番号を持つ最初のアイテムを見つける
わかりましたので、これをどのように表現するかはわかりませんが、
一連のアルバムがあり、各アルバムには多くの画像があります。acts_as_list
ユーザーがアルバム内の画像を並べ替えられるようにするために ruby gem を使用しているため、各画像には位置があります。そして、並べ替えを行う方法は、アルバム画像と非アルバム画像の間で設定することです。すべてのアルバムに位置が 1 の画像があるわけではありません。
だから、私がやりたいことは、すべてのアルバムを一覧表示し、そのアルバムで最も古い位置にある画像のみを表示することです。ただし、最初の位置を見つける方法はありません。
これが私が今持っているものです:
ただし、位置番号ではなく、画像テーブル内の位置に基づいてアルバム内の最初の画像を検索するだけです。
ruby-on-rails - ルートで ID 以外のものを使用する
Book と Chapter の 2 つのモデルがあります。
ID ではなく、ブック内の順番でチャプターにアクセスできるようにしたい
/Books/the-chapter-title/chapters/1
章を並べ替える機能も欲しいので、これを行うことをお勧めしますか.
章番号を使用してリストを上下に移動するacts-as-list
だけでなく、序列を介してそれらにアクセスしたいと思います。
ruby-on-rails - 更新中のモデルの注文位置
製品モデルでacts_as_listを使用しており、手動で位置を編集できるように作成しようとしています。現在、製品3を位置3から位置1に編集すると、他の製品は調整されません。
例:製品を位置3から位置1に移動します
ID名ポジション
1製品12製品23
製品
3
結果は
ID名前位置
1製品12製品23
製品
1
しかし、私はそれが結果として必要です
ID名前位置
1製品22製品
33
製品1
結論に達したので、製品更新クラスにコードを追加する必要があります。これが私がこれまでに持っているものです:
このコードでは、古い製品と新しい製品の範囲内ですべての製品を取得し、それらすべての位置をインクリメントしようとしていますが、コードが機能していません。old_product=Product.find_by_position_and_category_idという呼び出しのようです。 (params [:position]、params [:category_id])は、古い商品の位置で商品を返す必要があるときに、nilを返し続けます。
助けてくれてありがとう、そして私が正しい軌道に乗っているかどうか、またはこれを行うより簡単な方法があるかどうか私に知らせてください。
ruby-on-rails - カスタム move_up ルートと move_down アクション/ルート Rails を作成する
上矢印と下矢印の付いた 2 つの小さなボタンを作成し、それに基づいて製品を並べ替えようとしています。Product というモデルがあり、acts_as_list を使用して位置を追跡しています。
ルートを作成するためにコントローラーでこのようなことをしますか?
そして私の製品コントローラーで
そして私の見解では
しかし、私は何か正しいことをしていません。エラーが発生し続けます
id=move_up の製品が見つかりませんでした
このルート関係の作成を手伝ってくれる人はいますか?
編集:今、私はエラーが発生しています
予期していなかったのに nil オブジェクトがあります! Array のインスタンスを期待していたかもしれません。nil.find の評価中にエラーが発生しました
ここにいくつかのコードがあります
コードを表示
ハングアップしているように見えるコードはこちら
検索を実行するとき。ありがとう!
ruby-on-rails - Rails 3.1 - act_as_listなしでドラッグドロップリオーダー?
アプリ内でドラッグ アンド ドロップの並べ替え機能を許可したいと考えています。私はacts_as_listでこれを行うことができることを認識しており、Rails Recipeに従っています。ただし、アプリのビルド方法が原因で、別のモデル内のネストされたアイテムから作成時に位置フィールドを継承するため、並べ替えたいアイテムはacts_as_listを使用できません。私がacts_as_listを使用すると、これは位置の値を上書きするように見えます。つまり、親モデルで設定された順序が失われ、子の位置がランダムになります。
だから私は2つの質問があると思います:
Acts_As_List を使用せずに Ajax スタイルのドラッグ アンド ドロップ再注文機能を構築できますか?
また
作成時にacts_as_listを無効にし、それ以外の場合は有効にするモデルに何らかのif文を入れることはできますか? 次のようなもの (コードではなく英語):
ruby-on-rails - content_tag_for が正しいパラメータを渡していない
jquery UI と act_as_list を使用して、ドラッグ アンド ドロップで並べ替え可能なテーブルを作成しようとしています。
ul/li 要素を使用すると問題なく動作しますが、テーブルを使用したい (見栄えが良いため)。ただし、table/tr/td を使用すると、更新された順序が JavaScript のソート可能関数に渡されず、ドラッグ アンド ドロップして並べ替えた後でも常に元の順序が渡されます。ul/li 要素の代わりに table 要素を使用して更新された順序を渡す方法はありますか? テーブルは順序付けをサポートしていますか?
編集:
ruby-on-rails - Acts_as_listを使用して、1つの列内に複数のリストを作成できますか?
acts_as_list
データベース内の既存のテーブルに追加しようとしplaylists
ています。このテーブルには、ユーザーが作成した可能性のあるプレイリストが保存されています。目標は、ユーザーが自分のプレイリストを並べ替えることができるようにすることです。
この移行により、テーブル内のプレイリストのデフォルトの位置が設定されますが、位置はグローバルコンテキストで設定されます(たとえば、position
500個のプレイリストを含むテーブルの列は1〜500の順序になります)。
アイテムの位置を500から499に移動しても、必ずしもユーザーの観点からの変更が反映されるとは限らないため、この順序には問題があります(50、70、100 position
、および500のプレイリストがある場合があるため)。
代わりに、ユーザーごとのコンテキストでテーブル内の各プレイリストの位置を設定します(たとえば、各ユーザーに5つのプレイリストがあるとすると、position
列には、ユーザーごとに1〜5の順序でプレイリストの複数のインスタンスがあります)。
これは可能ですか?もしそうなら、これを達成するために移行をどのように変更しますか?