私は子供の情報を格納するRailsアプリケーションを持っていますが、特定のフィールドはchild
アナフィラキシーになり、私はChild
モデルのメソッドを定義してチェックできますアナフィラキシーの記録に残っている。例えば、child
は、10の特定のフィールドがnil
である場合、アナフィラキシーである。私は@anaphylactic_kids = Kid.where(. . . and . . . and . . .)
を書き留めたくないので、本当に長くなるでしょう。これを行う簡単な方法はありますか?すべての助けてくれてありがとう!モデル内のレコードにnil checkが定義されています。
1
A
答えて
4
は、少なくとも一度はフルwhere
句を書き出す回避するための簡単な方法はありませんが、あなたはにあなたはそれのためのスコープを作成することにより、それを使用したいすべてのコントローラアクションを、それを書くことを避けることができます。代わりに、あなたのコントローラーでフルKid.where
ステートメントを使用しての
def self.anaphylactic
Kid.where(:field1 => nil, :field2 => nil, :field3 => nil)
# complete the where clause for every field you need to check
end
今、あなたは、単に同じ結果を得るためにKid.anaphylactic
を呼び出すことができます。あなたのモデルで
は、このメソッドを追加します。
関連する問題
- 1. モデルが定義されていない
- 2. モデル内のマングースモデルは定義されていません
- 3. 定義されていないメソッドnilのための `destroy ':NilClass
- 4. 定義されていないメソッドnilのための `comments ':NilClass
- 5. 定義されていないメソッド `nil 'のための` following':NilClass
- 6. Rails - nilの定義されていないメソッド `delete ':NilClass
- 7. 'people' for nilの定義されていないメソッド:NilClass
- 8. モデルが定義されていません
- 9. ngモデルの値は常に定義されていません
- 10. NoMethodError - 定義されていないnilメソッド:NilClass
- 11. レール定義されていないメソッドidがnilの場合:NilClass
- 12. ASP.Netモデルには定義が含まれていません
- 13. 応答データは定義されていますが、data.valueは定義されていませんか?
- 14. 列名があいまいにコード内に定義されています
- 15. 要素に特定のスタイルプロパティがインラインで定義されているかどうかを確認するjQuery check
- 16. 親モデルのメソッドは定義されていません
- 17. tabulatr2データ定義内でpundit policy checkを使用するには?
- 18. clojure - 定義されたレコードの名前が競合していますか?
- 19. モジュール内のコントローラが定義されていません
- 20. ng-repeat内のスコープが定義されていません
- 21. window.opener内の変数が定義されていません
- 22. エースエディタ "定義が定義されていません"
- 23. レコード構文内で定義された関数インタフェースの実装?
- 24. 関数内でAngularJS $スコープが定義されていません
- 25. 私のように定義されたドクトリン2モデル持っているモデル
- 26. モデルの定義されていないフィールド
- 27. Rails Rspec - nilのモデル属性未定義メソッド `> ':NilClass
- 28. 私は未定義のメソッド `each 'をnilにしています:NilClass ...それは定義されていますか?
- 29. NSManagedObjectのプロパティがnilに設定されている0
- 30. サービス内にデータがあるのに、htmlで定義されていないオブジェクトが表示されます
名前付きスコープを定義することもできますが、ArtOfCodeによって提案されたソリューションはより優れたIMOです。また、このSQLがこのようなクエリについて説明していることに気をつけてください。将来的には適切なインデックスで十分でしょう。 – Sebastian
@Sebastianという名前のスコープとモデルクラスのメソッドはほぼ同じものですが、いくつかの違いがありますが、最後に同じ関数を実行します。 – ArtOfCode
これは私が探していた正確なアイデアのようです、ありがとう! –