我已经根据这个Railscast 设置了一个带有子域的当前项目。我有两个模型,State
每个City
模型:subdomain
在他们的数据集中都有一个字段。如果用户输入与此匹配的子域,:subdomain
则会显示相应的内容。
State
如果orCity
模型中不存在子域,如何重定向请求?例如,我想blue.domain.com
被重定向到rails_root
.
如果请求的域不存在,有人可以提供一些关于如何重定向的指导吗?
我已经根据这个Railscast 设置了一个带有子域的当前项目。我有两个模型,State
每个City
模型:subdomain
在他们的数据集中都有一个字段。如果用户输入与此匹配的子域,:subdomain
则会显示相应的内容。
State
如果orCity
模型中不存在子域,如何重定向请求?例如,我想blue.domain.com
被重定向到rails_root
.
如果请求的域不存在,有人可以提供一些关于如何重定向的指导吗?
如果您的控制器,您将需要添加一个 before_filter 在您找到城市或州的位置,然后如果找不到则重定向。就像是:
before_filter :find_subdomain
def find_subdomain
@city_or_state = City.find_by_subdomain(request.subdomain) || State.find_by_subdomain(request.subdomain)
redirect_to root_path(subdomain: false) if @city_or_state.nil?
end
这只是另一种方法:
before_filter :find_subdomain
private
def find_subdomain
@city_or_state = City.find_by_subdomain(request.subdomain) || State.find_by_subdomain(request.subdomain)
redirect_to request.domain if @city_or_state.nil?
end