無効なIDが渡されたときに私のindex()
メソッドを通知したいが、私はそのページを500でbarfにしたくない。モデルIDをスキップするためのインデックスメソッドを設定しています)。しかし、私はそれらの無効なモデルIDをどうにかして追跡したいと思います。RoR - インデックスメソッドで無効なIDを追跡する
index()
が実行されている無効なIDを追跡するにはどうすればよいですか?
無効なIDが渡されたときに私のindex()
メソッドを通知したいが、私はそのページを500でbarfにしたくない。モデルIDをスキップするためのインデックスメソッドを設定しています)。しかし、私はそれらの無効なモデルIDをどうにかして追跡したいと思います。RoR - インデックスメソッドで無効なIDを追跡する
index()
が実行されている無効なIDを追跡するにはどうすればよいですか?
あなたが標準リソースresources :something
を持っている場合は、この
/something/#{invalid_id}
のような無効なルートを意味するならば、そして、あなたは彼らがshowアクションになり、indexアクションでこれらをキャッチしません。あなたはshowアクションの条件付きロジックの量をわずかに減らすためにbefore_filter
でこれを達成することができます。コントローラで
before_filter :check_valid_id, only: [:show]
とコントローラのプライベートセクションで
def check_valid_id unless find_something log(params[:id]) redirect_to :index end end
あなたはまた、破壊し、提供し、そのような編集、更新などの他のメンバーのルートでcheck_valid_idすることをお勧めします
IDが無効であるというフラッシュメッセージ
なので、 'invalidIds =" model_type_id NOT IN(#{validIdList}) "のようなことはありません。" – 123
可能なすべての間違ったIDのリストを作成すべきではありません。あなたのIDは最大2^64(または1.84 x 10^19)から有効なIDの数を差し引いた数です。必要なコンピューティングによって、サイトが役に立たなくなる可能性があります。 – Okomikeruko
私はそれが何をしようとしているのか分からないかもしれません、インデックス/ショーの責任を一緒に混ぜているようです。これは検索操作ですか? – Austio
あなたのユースケースを知らずにID。しかし、それらをファイルに保存することは、合理的なアプローチに見えます。 –