Rails 6 - Как заменить часть шаблона URI маршрутов? - PullRequest
1 голос
/ 03 марта 2020

Если пользователь вызывает URL-адрес application.com , он перенаправляет на application.com / account / 1 / session / new .

Я хотел бы заменить URL-адрес перенаправления на application.com / session / new (хост / аккаунт /: id -> хост)

rout.rb

Rails.application.routes.draw do

get '/', to: 'dashboard#index'

  resources :accounts do
    resources :sessions
  end

end

рельсовых маршрутов:

new_account_session GET    /accounts/:account_id/sessions/new(.:format)      sessions#new

application_controller.rb

class ApplicationController < ActionController::Base

...
  #account has a column host to be identified if the user called URL host belongs to an existing account
  def get_account_id
    account_id = Account.find_by(host: request.host).id
  end

  def authorize
    if session[:user_id]
      redirect_to new_account_session_path(get_account_id)
      return
    end
  end

end

1 Ответ

1 голос
/ 03 марта 2020

Удалить: сеансы изнутри: учетные записи

resources :accounts
resources :sessions

Когда вы вкладываете подобные ресурсы, вы в основном говорите, что все маршруты к сеансам должны быть связаны с учетной записью.

...