私のウェブサイトにはたくさんのコースがあります。私は「コースに行く」フォームを持っています。ユーザーが有効なコース名を入力すると、そのユーザーをそのコースページに正常にリダイレクトします。レール3:レールコードのルーティングエラーを確認してください
def courses
@title = "Courses"
@path = "#{root_path}"+"course/" + "#{params[:course]}"
if @path == "/course/"
@title = "Courses"
render 'courses'
else
redirect_to @path
end
end
これは、ルートが存在する場合に有効なすべての入力に対して機能します。私は、ユーザーが無効なルートを引き起こす無効なコース名を入力した場合のエラーケースを処理したい。私は、コード内のルーティングエラーをチェックし、エラーメッセージをユーザーに知らせたいと思います。 ?これが可能である」の代わりに、あなたのコントローラでカスタムルートを構築する
リダイレクトする前にデータベースを照会して有効なコースであることを確認してみませんか? –
なぜあなたのルートをそのように構築していますか?なぜルートを使用しないのですか?あなたは「フレームワークに逆らって」いるようです。 – corroded
各コースのページは単なる静的なページです。元々は5のようなコースはほとんどありませんでしたが、今はたくさんあります。私はちょうど新しいコントローラを実装すると思う – Wasi