Techioz Blog

Railsで現在のルートを取得する方法

概要

ユーザーとプロジェクトの 2 つのモデルがある Rails サンプル アプリケーションを構築しています。両方の関連付けは、user has_many プロジェクトです。ここで問題は、ユーザーのプロジェクトのドロップダウンを上部に提供したいと考えています。誰かがそれをクリックすると、プロジェクトの表示ページに移動します。しかし、ユーザーが1つのプロジェクトの編集ページにいて、ドロップダウンから他のプロジェクトを選択した場合、任意のアイデアの表示ページの場合と同じように、新しく選択したプロジェクトの編集ページに到達してほしいと考えています。私が探している解決策は、たとえば、params[:controller]を使用して現在のコントローラーを見つけることができ、params[:action]を使用して現在のアクションを見つけることができます。現在のルートを見つけるにはどうすればよいですか。 よろしくお願いします

誰かが私のコードが何であるかを知りたい場合:- ここに github へのリンクがあります:- ’https://github.com/peeyushsingla/session_test.git/ ここでは単純なリンクを使用していますが、実際には、編集、表示、新規のすべてのアクションで機能する、表示される単一のドロップダウンを提供します。

解決策

Rails 4以降の場合

URL の例: http://localhost:3000/allreferred?&referred_name=maria

request.path -> “/allreferred”

request.base_url -> “http://localhost:3000”

request.fullpath -> “/allreferred?&referred_name=maria”

request.original_url -> “http://localhost:3000/allreferred?&referred_name=maria”