問題タブ [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-3 - ActiveAdmin での並べ替え
リソースの順序を変更する必要がある場合があり、acts_as_listはこのタスクに非常に役立ちます。私の質問は次のとおりです。ActiveAdminフレームワークで一部のリソースの並べ替えを実装する最良の方法は何ですか。
「最善の方法」がないことはわかっていますが、この種の質問に対するあらゆる種類の回答を見つけることができるように、すべての返信を歓迎すると思います。
考えられる解決策の 1 つを自分で書き留めました。ドラッグ & ドロップで jquery を使用していますが、フィルター、スコープ、および並べ替えでは機能しません。ドラッグ アンド ドロップの並べ替え専用の別のビューを用意する理由があるかもしれませんし、誰かがチェックボックスやボタンなどを使って別の UI を作成したのかもしれません…</p>
共有してください!
ruby-on-rails - act_as_list を使用し、float を int 値に転送する
もともとphpで書かれ、レールに移動されているアプリでacts_as_listを使用したいと思います。ユーザーが位置 1 と 2 の間に何かを配置したい場合、フォームに 1.5 を入力するだけでよいように、フロートである「位置」値を使用しました。act_as_list は整数のみを使用しているようです。act_as_list で整数ではなく浮動小数点数を使用する方法はありますか? それとも、フロートのセットを挿入用の整数に変換する可能性がありますか?
どうも
ruby-on-rails - Railsのacts_as_listを取得して新しい項目をリストの先頭に追加するには?
act_as_list と統合されたモデルがあります。ただし、デフォルトでは、作成された新しいアイテムはリストの最後に追加されます。新しいアイテムを最初に追加するデフォルトの方法はありますか?
ありがとう!
ruby-on-rails - act_as_list gemを使用するときに位置属性をリセットしますか? (レール)
目標に多くの目的がある単純な Rails 3 アプリがあります。私の見解では、ユーザーが特定の目標の目的を並べ替えることができるようにし、acts_as_list gem を使用してこの機能の一部を実現しています。
目標モデル:
目的のモデル:
また、特定の目標が関連付けられている目標をユーザーが変更できるようにしたいと考えています。Objective の Goal が変更されるたびに gem が position 列をリセットすると想定していましたacts_as_list
が ( を定義したためscope => :goal
)、代わりに現在の位置を保持するだけです。
私にとって、これは望ましくありません。なぜなら、新しい目標のコンテキストでは位置が意味をなさないからです。むしろ、位置がリセットされ、目的が関連付けられている新しい目標の下部に移動されることを望みます。before_save
そこで、Objective モデルで発生するこのメソッドを書きました。
残念ながら、これstack level too deep
を保存しようとするとエラーが発生します。これを修正する方法についてのアイデアはありますか?
ruby-on-rails - デフォルトのスコープがacts_as_listに適用されないようにする
私はact_as_listを使って本のスロット番号を生成します:
acts_as_list :scope => :book_id, :column => :slot
また、削除された (論理的な削除) 本が結果セットに入るのを防ぐデフォルトのスコープがあります。
default_scope where(:is_active => true)
誰かが最後の本を削除して新しい本を作成すると、同じスロット番号を取得するため、デフォルトのスコープがacts_as_list宣言に適用されないようにしたい(最後のスロット番号を取得すると、デフォルトのスコープが適用されるため)削除されたエントリは取得されません)。は知ってunscoped
いますが、acts_as_list でどのように使用しますか?
Rails 3.0.11 を使用しています。
ruby-on-rails - rails: :order を使用して has_many を並べ替えると、タイムスタンプによる順序が原因で機能しません
私は Rails モデルを持っており、User は Post と多くの関係を持っています。Post には、位置を格納する position という名前の属性が含まれています (acts_as_list gem)。位置には、ユーザーの投稿リストの位置が格納されます (順序は、投稿の作成/変更によるものではありません)。さらに、投稿にはタイムスタンプが保存さt.timestamps
れています(移行で)
そこで、User.rb で次のように定義しました。
ただし、User.first.posts
投稿は位置順ではありません。私はチェックしましたが、クエリであるSQLには次のものが含まれています:
したがって、created_at はまだ使用されています。
created_at 属性を使用せずに位置で並べ替えるにはどうすればよいですか?
前もって感謝します!
解決 策 Post で定義されたデフォルトのスコープがあり、それが望ましくない順序を作成していました。
問題が解決しました
ruby-on-rails - ビューで has_many リストを並べ替える
ユーザーが 5 つの性格特性を選択する Person というモデルがあります。ただし、彼らがそれらを選択する順序は重要です (彼らは最も説明的なものから最も説明的でないものへと選択しています)。
毒のある結合テーブルを作成し、そのように注文する方法を知っています。私もacts_as_listを使っています。
しかし、私のアプリのユーザーが特性の順序を設定する方法を作成する方法は、何の助けも見つからないようです。つまり、HTML に 5 つの選択ボックスを配置して、それぞれを選択させ、jQuery UI Sortable のようなものを使用して、必要に応じてそれらを移動できるようにしたいと考えています。
これが私のモデルの基本的な考え方です(概念を理解するために単純化されています)。
ビュー/コントローラーでポジショニングを機能させる方法がわからないため、フォームを送信すると、どの特性がリストのどこにあるのかがわかります。
ruby-on-rails - has_many :through レコードの更新に関するトラブル
has_many スルー レコードの更新で問題が発生しています。これが私のセットアップです:
TastinGroup 内のワインの順序が問題になるため、acts_as_list を使用しようとしていました。そのため、GroupWine モデルに「位置」属性を追加しました。
ただし、GroupWine レコードを更新しようとすると、次のエラーが発生します。これが私がやっていることです。
そして、ここに私が得るエラーがあります...
group_wines の NULL はどうなっているのですか? なぜ where 句を追加するのですか?
ありがとう。
ruby-on-rails - acts_as_treeとacts_as_listによる従属破棄
現在、Rails 2 アプリケーションを、acts_as_tree とacts_as_list を使用する Rails 3.2.13 にアップグレードしています。以前は、アップグレードはうまく機能していました。それ以来、私はacts_as_treeとacts_as_listに依存するdestroyに問題があります。
私はモデル化しなければなりません:
ユーザーがいるとします:
2 つのカテゴリがあり、これらのカテゴリの 1 つは他のカテゴリの子です。
ユーザーを破棄dependent: :destroy
しようとすると、カテゴリを破棄しようとします。それは最初のカテゴリーを破壊します。カテゴリには子 (id 2) があるため、acts_as_tree もそれを破棄します。しかし、acts_as_list が 2 番目のカテゴリの位置をリロードしようとしているようです。当然、それはもう存在しないため、次のように発生します。
誰かがそれを解決するアイデアを持っていますか?
PS: Rails 3.2.13、Ruby 1.9.3、acts_as_tree 1.4.0、acts_as_list 0.2.0