0

私は、ユーザーが次のようにルート URL にアクセスできるようにするアプリに取り組んでいます。 http://localhost:3000/param_here

私のルートは次のように設定されています。

match '/:test' => redirect { |params| "/?id=#{params[:test]}" }

これに関する問題は、私の他のルートがピックアップされ、リダイレクトされていることです。

フルルート.rb

Myapp::Application.routes.draw do
  match '/:test' => redirect { |params| "/?id=#{params[:test]}" }
  match '/aboutus', to: 'pages#aboutus', as: "about_us"

  # Set the Home Page to a static page  
  root :to => 'pages#home'
end

そのため、ユーザーが に移動する/aboutusと、リダイレクトはそれを取得し、 として設定する必要があると想定しidます。このリダイレクトも実現しながら、通常のルートを使用したいと思います

4

2 に答える 2

2

/aboutus ルート ルールを

  match '/:test' => redirect { |params| "/?id=#{params[:test]}" }

あなたのルートファイルのルール?

ルートは上から下に流れるため、/aboutus ルートをオプションのパラメーターを使用してルートの上に移動すると、リクエストは最初に一致するルート (この場合は /aboutus ルート) にディスパッチされます。

于 2013-01-22T14:53:38.390 に答える
1
match '/:test' => redirect { |params| "/?id=#{params[:test]}" }, :defaults => { :id => '#{params[:test]}' }
于 2013-01-22T14:56:46.017 に答える