スポーツ チームを扱う Rails アプリケーションがあります。Club
すべてのチームを含み、es などに関連するモデル がありMatch
ます。アプリケーションは、これらのクラブの 1 つを中心としており、そのレコードの存在に依存しています。基本的に、メイン クラブを定義するアプリケーション ヘルパー メソッドがあります。
def main_club
@main_club ||= Club.find_by(abbrv: 'CLB')
end
そして、それはコントローラ ロジック (他のものにはできない特定のことを行うことmain_club
ができます) とビュー (今後の試合に関する特定の重要な情報を表示するなど) で参照されます。
これは私には面倒に感じます。「ソフト」データベースレコードに依存するハードコード? しかし、私はクラブが記録であり、そのすべての関係を可能にする必要があります.
私はそれをそのまま残しましたが、RSpec を台無しにします。で実行Rails.application.load_seed
していても、 on などをconfig.before(:suite)
呼び出すことができないため、スペックが常に失敗します。.matches
nil
この種のことに対して確立された慣行はありますか?これについてどうすればよいですか?
編集:シード ファイルには、現在のすべてのクラブ (メインのクラブを含む) が含まれており、管理インターフェイス/コントローラーにさらに追加する可能性があります。RSpec の問題は、DatabaseCleaner の何かが間違っていることに起因している可能性がありますが、a) それが何であるかはわかりません。b) 「ソフト」データベース レコードに依存するハード コードに関する私の懸念は、RSpec に関係なく残っています。