Rails маршруты для статической целевой страницы, если пользователь не вошел в систему (разработка) - PullRequest
0 голосов
/ 07 ноября 2018

В моем приложении я использую гем аутентификации Devise, который работает очень хорошо. Я также создал статическую целевую страницу, которая у меня есть в каталоге /public.

Конечно, я могу просмотреть localhost:3000/landing и просмотреть страницу (в соответствии с маршрутом ниже), но я пытаюсь достичь, но не могу понять, как настроить файл routes.rb так, чтобы landing.html файл является корнем, но когда пользователь вошел в систему, его корень становится companies#index.

Любая помощь высоко ценится!

Вот мой файл route.rb

Rails.application.routes.draw do

  devise_for :users
  get 'dashboard/index'

  get '/landing', :to => redirect('/landing.html')

  root 'companies#index'

  resources :companies do
    resources :shareholders
    resources :captables do
      post :subscribe_to_captable
      resources :events do
        post :lock_event
        post :unlock_event
        resources :transactions
      end
    end
  end
end

Вот мой application_controller.rb

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception
  before_action :authenticate_user!
end

1 Ответ

0 голосов
/ 07 ноября 2018

Один из способов - это сделать перенаправление внутри вашего метода CompaniesController.rb index.

CompanesController.rb (или как там это называется)

def index
  unless user_signed_in?
    redirect_to landing_pages_path (or whatever the name of the route is)
  end
end

Затем измените маршрут в файле routes.rb.

get '/landing', to: 'companies#landing' * change companies here to the name of the controller holding the landing page's method if it is not in the companies controller.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...