是否可以在URL的原点后添加/in
。现在,网址为xxx.com/home/index
,希望它像xxx.com/in/home/index
一样。
这是基于国家/地区的变化,适用于印度/in
,适用于美国/us
等。
我在路线中添加范围,
scope ":country_code" do
root 'home#index'
get 'page/about'
end
如何导航根路径并更改所有代码以更改路径? 还有其他解决方案吗?
由于
答案 0 :(得分:0)
是的,有可能。根据您的要求,我们需要{}} {}},因为我们会在路线中使用country_code
。
首先,您需要在id
中创建 root action
,如:
controller
然后我们需要定义类似的路线:
root_to "welcome#index"
现在,当xyz/:country_code/member_action => "welcome#search", as: "my_action"
root_path
index
行动WelcomeController
收到任何请求时,我们会检查请求IP国家/地区详细信息。
您可以使用https://ipinfodb.com/api获取请求IP的国家/地区详细信息
最后,在获得country_code
后,将请求重定向到此处的下一个操作路径,例如:redirect_to my_action_path("IN")
答案 1 :(得分:0)
如果你像这样传递module: false
,你可以定义动态命名空间内的所有路由将使用正常路由:
Rails.application.routes.draw do
['us','uk','in'].each do |country_code|
namespace country_code.to_sym, module: false do
resources :users
root 'home#index'
get 'page/about'
end
end