私はRails 5を使用しています。ヘルパーモジュールで定義した関数をconfnig/routes.rbファイルで認識させるにはどうすればよいですか?私のアプリ/ヘルパー/ sessions_helper.rbファイルでは、私はconfig/routes.rbファイルのヘルパーモジュールからメソッドを呼び出すにはどうすればよいですか?
# Returns true if the user is logged in, false otherwise.
def logged_in?
!current_user.nil?
end
を持っているし、その後、私のconfig/routes.rbをファイルに私が
get '/', to: 'users#show', constraints: lambda { |request| SessionsHelper.logged_in? }
しかし、私のアプリケーションをロードすると、私はエラーを取得していますがあります
undefined method `logged_in?' for SessionsHelper:Module
私のモジュールからヘルパーメソッドを呼び出す正しい方法は何ですか?
私の目標は、ユーザーがログインしている場合、誰かがルートを訪れたとき、彼らはにリダイレクトされるということですユーザーのホームページ。あなたの答えを読むことによって、私はそれをどのように達成するかについてはっきりしていません。 –
@Natalia正しいコントローラの 'before_action'と' redirect_to'を使って、 'root'アクションを扱っているものとまったく同じです。 – meagar
私はルートURL用にコントローラを設定していません。そのため、アプリケーションコントローラをデフォルトにするだけですか?それでも、この "before_action:require_login"を入れてみると、コントローラ内のすべてのアクションに適用されますが、それは私が望むものではありません。彼らがログインしている場合、私はルートパス( "/")からリダイレクトしたいだけです。そうでない場合は、そのようなリダイレクトをしますか? –