問題タブ [activemodel]

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.

0 投票する
1 に答える
478 参照

ruby-on-rails-3 - オブジェクトとそのすべての子の ActiveModel カスケード バリデーター

ActiveModel を使用するクラスがあります (ActiveRecord ではありません)。これは、リモート Web サービスから取得された JSON オブジェクトを表します。トラック オブジェクトには ReportLayout オブジェクトの配列があり、各 ReportLayout オブジェクトにはスロットの配列などがあります。各モデル クラスには、「validates_presence_of」などのいくつかの単純なバリデータがあります。

各レベルで各オブジェクトを通過し、それらを検証してから、子の配列を検証する、追跡オブジェクトから始まるカスケード検証を開始するにはどうすればよいですか? スタックは 4 レベルの深さで、すぐにさらに 2 つのレベルを追加する予定です。

ありがとう、ラージ

0 投票する
2 に答える
717 参照

ruby-on-rails - Rails: モデルから一意性検証を使用して属性のリストを取得する

一意性検証を持つすべての属性のリストを返すことができるかどうか疑問に思っていますか? たとえば、私はモデル Person を持っています。一意性制約を持つ「Person」の属性のリストを返したいと思います。何か案は?

0 投票する
2 に答える
183 参照

ruby-on-rails - モデルの名前を変更した後、移行が失敗し、db:create を実行できなくなりました

これが何が起こったのかです。以前は Message というモデルがありましたが、名前を変更したかったので、そのテーブルの名前を Message から Thread に変更する移行を作成しました。その後、そのテーブルに追加された移行がありました。

これはうまくいきました。db:migrate を使用して、既存のデータベースを先に進めます。ここで、新しいデータベースを作成するために db:create を実行すると、レールがメッセージを作成するときに失敗することに気付きました。次に、メッセージにフィールドを追加しようとすると、次のようになります。

問題は、すべてのコントローラーとモデルの名前をメッセージからスレッドに変更したことであり、移行時に移行でモデルが見つからないことだと思いますか? そうですか?

レールの世界でこれをどのように処理しますか? ありがとう

0 投票する
3 に答える
12563 参照

ruby-on-rails - レールを使って汚したり変えたり?after_commit によるフラグ

Rails にはダーティ/チェンジ フラグがあると聞きました。after_commit コールバックでそれを使用することは可能ですか?

私のユーザーモデルには次のものがあります。

def push_changes名前フィールドが変更されたかどうかを知る方法が欲しいです。それは可能ですか?

0 投票する
0 に答える
181 参照

ruby-on-rails - Rails 3モデル::association_id =>association.idで作成/更新できますが:association=>associationではできません

これは私が定期的に遭遇する問題であり、その理由はよくわかりません。感謝する提案:

ショップと本の関係があるとします(本はショップに属し、ショップには本がたくさんあります)

次のコードを実行した場合:

取得します

ActiveRecord :: AssociationTypeMismatch:Shop(#70161677495100)が期待され、String(#70161654862280)を取得しました

しかし、私が実行した場合

すべてが正常に動作します。

他のもの:

  • attr_accessibleの問題ではないと思います。両方のモデルからattr_accessible呼び出しを取り除いてみました...変更なし
  • 協会の問題ではないと思います。コンソールから、Book.new(:name =>'Naked People'、:shop => shop)を問題なく作成できます。現時点では、rspecコントローラーのテストで問題が発生しています。

何か案は?私はこれにかなり頻繁に遭遇するようですが、再:解決策に困惑しています

0 投票する
3 に答える
401 参照

ruby-on-rails-3 - いくつかの検証に合格した後のカスタムメソッド

Ok。

1):linkモデルで検証する必要があり、それが空白(またはゼロ)でない場合にのみ検証します。

2):link空白ではなく、標準の検証に合格した場合—カスタム検証メソッドを実行してURLの可用性を確認する必要があります。

「標準」検証とは、次のような意味です。

これを実装する正しい方法は何ですか?

0 投票する
2 に答える
123 参照

ruby-on-rails - ActiveRecord 関係: A has_many Bs と A has_one B を同時に使用できますか?

Rails での処理方法がわからない状況があります。

イベントhas_many :photosと写真belongs_to :event

十分に簡単

ただし、Event は 1 つの「キー」写真も参照する必要があります。

追加について考えました:

イベントhas_one :key_photo, :foreign_key => "photo_id"

しかし、これはhas_many上記のように機能しますか? もしそうなら、すでに言っているPhotoモデルの逆をどのように処理するのPhoto belongs_to :eventですか?

1 行 (「キー」写真) のみに当てはまるブール列を Photo に追加できますが、それは無駄のように思えます... 1 ビット列のみの場合。

0 投票する
1 に答える
63 参照

ruby-on-rails - これらの Rails 検証が異なるのはなぜですか?

:on => :saveバリデーションのデフォルトは、 :create と :update? の両方を意味するものだと思いました。しかし、最初の仕様を 2 番目の仕様に置き換えると、失敗し始めexpected valid? to return false, got trueます。

何が起こっていますか?

0 投票する
1 に答える
228 参照

ruby-on-rails - この単純な非データベース Rails アプリケーションに ActiveModel を使用する必要がありますか?

ユーザーが次のような単純な 2 ページの Rails アプリケーションを作成しています。

  1. 最初のページでクレジット カードの詳細を入力し、[次へ] をクリックします。
  2. 2 ページ目に請求先住所を入力し、[送信] をクリックします。

入力されたデータを検証する全体的な Order モデルを作成します。

ページ間のセッションでデータを保存するため、このアプリケーションにはデータベースは必要ありません。とても単純なことに ActiveModel を使用する必要がありますか?

0 投票する
3 に答える
8051 参照

ruby-on-rails - モジュールによる共有スコープ?

次のように、共有スコープをモジュールに移動して、いくつかのモデルを DRY したいと考えています。

また、モジュールをテストする共有仕様も作成したいと考えています。残念ながら、モデルに共有スコープを含めようとすると、次のようになります。

何か案は?ありがとう!