Как использовать квартирный драгоценный камень для приложения saas на localhost без lvh.me? - PullRequest
0 голосов
/ 19 мая 2018

Как реализовать tentant для перехода на URL, например:

localhost:3000/tenent1

вместо использования lvh или любого домена или подобласти типа:

http://tenent1.lvh.me:3000
tenent1.example.com 

или

tenent1.com 

где tenent1 - это один из арендаторов, созданных пользователем в процессе регистрации.Я не хочу использовать поддомен, домен.

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

Apartment В gem есть файл инициализатора, в котором вы можете создать любой вид лифта.Я предполагаю, что вам не нужен поддомен, поэтому вы можете написать лифт, который будет проверять первую часть маршрута (например, localhost:3000/tenant1/)

Для получения дополнительной информации см. Apartment файл инициализатора.

Полагаю, в вашем случае это будет что-то вроде этого (добавьте это в файл инициализатора вашей квартиры)

 Rails.application.config.middleware.use 'Apartment::Elevators::Generic', lambda { |request|
   request.path.split('/')[1] # First element will be an empty string
     }
0 голосов
/ 19 мая 2018

Не уверен, почему вы хотите, чтобы эти маршруты понравились, но вы можете попробовать это следующим образом: -

get 'tenent:id', to: 'example_controller#example_action' as: :tenent

, поэтому он будет генерировать URL следующим образом: -

tenent GET    /tenent:id(.:format)  example_controller#example_action

На этомУкажите, что вам нужно предоставить динамический идентификатор с этим путем, например, так -

tenent_path(id: 1)

в браузере, он сгенерирует точно такой же URL, который вы хотели: _

localhost:3000/teanent1

и на стороне контроллера выможете получить доступ к этому идентификатору в params[:id]

...