0

join=yesGET でアプリの URL に渡すことができる単純なものがあります。検出されると、単に特定のJoinsControllerコントローラーにリダイレクトされます。それ以外の場合は、通常の流れを維持します。

join=yes私の質問は、特定のパターンをにリダイレクトするためにどのように一致させることができJoinsControllerますか?

4

2 に答える 2

3

何らかの制約を に入れてみてくださいroutes.rb。例えば:

constraints(:join => "true") do
  match '/*path', :to => redirect(url)
end

Rails APIの制約の詳細- ActionDispatch::Routing::Mapper::Scoping

于 2012-10-25T20:32:19.350 に答える
1

リダイレクトを他のすべてのコントローラーで発生させたいので、多くの方法で行うことができます。私がそれを行う方法は次のようなものです:

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
于 2012-10-25T20:33:27.800 に答える