2017-10-23 3 views
0

私のRailsアプリでは、ユーザーサインインページにユーザを転送したいのですが、これはクッキー:user_subdomainに保存されています。したがって、ユーザーがwww.app.com/sign_inに行くと、自動的にwww.app.com/sign_in/mycompanyに転送されるはずです。URLパラムをコントローラに追加するにはどうすればよいですか?

これはどのように達成できますか?

私は自分のアプリケーションの上に振りかけるので、私はsign_in_pathヘルパーメソッドを保ちたいと思います。

私は単純にredirectの場合、newのアクションを使用してループします。

ありがとうございます。


# routes.rb: 

get 'sign_in', :to => 'sessions#new' 

# sessions_controller.rb: 

class SessionsController < ApplicationController 

    def new 
    params[:name] ||= cookies[:user_subdomain] 
    end 

    ... 

end 
+1

あなたは 'www.app.com/sign_in'古いかに署名するだけの新しい方法が必要ですか? – Nermin

+0

@Nermin:ちょうど新しい方法。 – Tintin81

答えて

1

次いで、溶液が容易になります。リダイレクトする必要はありません。ルートにはオプションのパラメータが必要です。

bound parameters

# routes.rb: 

get 'sign_in(/:company_name)', :to => 'sessions#new' 
# This will allow 
# /sign_in 
# and 
# /sign_in/mycompany 
# Both will lead to same action and you can keep your helper 



# sessions_controller.rb: 

class SessionsController < ApplicationController 

    def new 
    params[:company_name] ||= cookies[:user_subdomain] 
    # You logic here 
    end 

... 

end 
+0

それは働いて、ありがとう! – Tintin81

関連する問題