ユーザーのユーザー名が URL の一部である単純なブログ アプリ (つまり、myapp.com/username) があります。見つからないすべてのユーザー名のキャッチオール ルートを作成するにはどうすればよいですか。現在、無効なユーザー名は次の原因になります。
NoMethodError in UsersController#show
undefined method `articles' for nil:NilClass
404ページにリダイレクトしたいです。
ユーザーのユーザー名が URL の一部である単純なブログ アプリ (つまり、myapp.com/username) があります。見つからないすべてのユーザー名のキャッチオール ルートを作成するにはどうすればよいですか。現在、無効なユーザー名は次の原因になります。
NoMethodError in UsersController#show
undefined method `articles' for nil:NilClass
404ページにリダイレクトしたいです。
これを試してみてください
次の関数をアプリケーション コントローラーに記述します。
def not_found Raise ActionController::RoutingError.new('Not Found') 終わり
次に、ユーザーコントローラーに以下のように書き留めます
User.find_by_username(params[:username]) || 見つかりません
うまくいけば、これはあなたを助けるでしょう。
これは本番環境には当てはまらないように見えますが、実際には無効なルートの 404 にリダイレクトされます。