問題タブ [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.
ruby-on-rails-3 - オブジェクトとそのすべての子の ActiveModel カスケード バリデーター
ActiveModel を使用するクラスがあります (ActiveRecord ではありません)。これは、リモート Web サービスから取得された JSON オブジェクトを表します。トラック オブジェクトには ReportLayout オブジェクトの配列があり、各 ReportLayout オブジェクトにはスロットの配列などがあります。各モデル クラスには、「validates_presence_of」などのいくつかの単純なバリデータがあります。
各レベルで各オブジェクトを通過し、それらを検証してから、子の配列を検証する、追跡オブジェクトから始まるカスケード検証を開始するにはどうすればよいですか? スタックは 4 レベルの深さで、すぐにさらに 2 つのレベルを追加する予定です。
ありがとう、ラージ
ruby-on-rails - Rails: モデルから一意性検証を使用して属性のリストを取得する
一意性検証を持つすべての属性のリストを返すことができるかどうか疑問に思っていますか? たとえば、私はモデル Person を持っています。一意性制約を持つ「Person」の属性のリストを返したいと思います。何か案は?
ruby-on-rails - モデルの名前を変更した後、移行が失敗し、db:create を実行できなくなりました
これが何が起こったのかです。以前は Message というモデルがありましたが、名前を変更したかったので、そのテーブルの名前を Message から Thread に変更する移行を作成しました。その後、そのテーブルに追加された移行がありました。
これはうまくいきました。db:migrate を使用して、既存のデータベースを先に進めます。ここで、新しいデータベースを作成するために db:create を実行すると、レールがメッセージを作成するときに失敗することに気付きました。次に、メッセージにフィールドを追加しようとすると、次のようになります。
問題は、すべてのコントローラーとモデルの名前をメッセージからスレッドに変更したことであり、移行時に移行でモデルが見つからないことだと思いますか? そうですか?
レールの世界でこれをどのように処理しますか? ありがとう
ruby-on-rails - レールを使って汚したり変えたり?after_commit によるフラグ
Rails にはダーティ/チェンジ フラグがあると聞きました。after_commit コールバックでそれを使用することは可能ですか?
私のユーザーモデルには次のものがあります。
def push_changes
名前フィールドが変更されたかどうかを知る方法が欲しいです。それは可能ですか?
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コントローラーのテストで問題が発生しています。
何か案は?私はこれにかなり頻繁に遭遇するようですが、再:解決策に困惑しています
ruby-on-rails-3 - いくつかの検証に合格した後のカスタムメソッド
Ok。
1):link
モデルで検証する必要があり、それが空白(またはゼロ)でない場合にのみ検証します。
2):link
空白ではなく、標準の検証に合格した場合—カスタム検証メソッドを実行してURLの可用性を確認する必要があります。
「標準」検証とは、次のような意味です。
これを実装する正しい方法は何ですか?
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 ビット列のみの場合。
ruby-on-rails - これらの Rails 検証が異なるのはなぜですか?
と
:on => :save
バリデーションのデフォルトは、 :create と :update? の両方を意味するものだと思いました。しかし、最初の仕様を 2 番目の仕様に置き換えると、失敗し始めexpected valid? to return false, got true
ます。
何が起こっていますか?
ruby-on-rails - この単純な非データベース Rails アプリケーションに ActiveModel を使用する必要がありますか?
ユーザーが次のような単純な 2 ページの Rails アプリケーションを作成しています。
- 最初のページでクレジット カードの詳細を入力し、[次へ] をクリックします。
- 2 ページ目に請求先住所を入力し、[送信] をクリックします。
入力されたデータを検証する全体的な Order モデルを作成します。
ページ間のセッションでデータを保存するため、このアプリケーションにはデータベースは必要ありません。とても単純なことに ActiveModel を使用する必要がありますか?
ruby-on-rails - モジュールによる共有スコープ?
次のように、共有スコープをモジュールに移動して、いくつかのモデルを DRY したいと考えています。
また、モジュールをテストする共有仕様も作成したいと考えています。残念ながら、モデルに共有スコープを含めようとすると、次のようになります。
何か案は?ありがとう!