1

ユーザーのユーザー名が URL の一部である単純なブログ アプリ (つまり、myapp.com/username) があります。見つからないすべてのユーザー名のキャッチオール ルートを作成するにはどうすればよいですか。現在、無効なユーザー名は次の原因になります。

NoMethodError in UsersController#show

undefined method `articles' for nil:NilClass

404ページにリダイレクトしたいです。

4

2 に答える 2

1

これを試してみてください

次の関数をアプリケーション コントローラーに記述します。

def not_found

  Raise ActionController::RoutingError.new('Not Found')

終わり

次に、ユーザーコントローラーに以下のように書き留めます

User.find_by_username(params[:username]) || 見つかりません

うまくいけば、これはあなたを助けるでしょう。

于 2012-07-04T18:54:37.537 に答える
0

これは本番環境には当てはまらないように見えますが、実際には無効なルートの 404 にリダイレクトされます。

于 2012-07-04T18:41:53.953 に答える