2

スポーツ チームを扱う 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)呼び出すことができないため、スペックが常に失敗します。.matchesnil

この種のことに対して確立された慣行はありますか?これについてどうすればよいですか?

編集:シード ファイルには、現在のすべてのクラブ (メインのクラブを含む) が含まれており、管理インターフェイス/コントローラーにさらに追加する可能性があります。RSpec の問題は、DatabaseCleaner の何かが間違っていることに起因している可能性がありますが、a) それが何であるかはわかりません。b) 「ソフト」データベース レコードに依存するハード コードに関する私の懸念は、RSpec に関係なく残っています。

4

1 に答える 1