join=yesGET でアプリの URL に渡すことができる単純なものがあります。検出されると、単に特定のJoinsControllerコントローラーにリダイレクトされます。それ以外の場合は、通常の流れを維持します。
join=yes私の質問は、特定のパターンをにリダイレクトするためにどのように一致させることができJoinsControllerますか?
join=yesGET でアプリの URL に渡すことができる単純なものがあります。検出されると、単に特定のJoinsControllerコントローラーにリダイレクトされます。それ以外の場合は、通常の流れを維持します。
join=yes私の質問は、特定のパターンをにリダイレクトするためにどのように一致させることができJoinsControllerますか?
何らかの制約を に入れてみてくださいroutes.rb。例えば:
constraints(:join => "true") do
match '/*path', :to => redirect(url)
end
Rails APIの制約の詳細- ActionDispatch::Routing::Mapper::Scoping
リダイレクトを他のすべてのコントローラーで発生させたいので、多くの方法で行うことができます。私がそれを行う方法は次のようなものです:
application_controller.rb
def ApplicationController<ActionController::Base
before_filter :needs_join_controller
def needs_join
redirect_to your_controller_action_path and return if params[:join] == "yes"
end
end
次に、複数のリダイレクトを避けるために、結合コントローラーはフィルターの前にこれをスキップする必要があります
joins_controller.rb
def JoinsController < ApplicationController
skip_before_filter :needs_join_controller
end