首页 > 解决方案 > Rails 3:仅将特定用户重定向到新应用程序,而其他人应该能够访问旧应用程序

问题描述

我的雇主有了新网站,并希望我在客户尝试访问旧网站时将旧网站(在 Rails 3 中)用户重定向到新网站。棘手的部分是他们希望他们的内部员工继续使用相同的 URL 访问旧网站。但是当外部客户访问旧网站时,他们希望将他/她重定向到新网站。

这可能吗?

我可以想到在 URL 末尾添加“staff”关键字,如果应用程序控制器中的传入 URL 有“staff”关键字,那么我可以允许内部人员访问旧网站。如果传入的 URL 在 URL 中没有“员工”关键字,那么我可以重定向到新网站。

这有意义吗?

任何帮助,将不胜感激。

标签: ruby-on-railsruby-on-rails-3redirect

解决方案


示例网址:xyz.com?role=staff

class ApplicationController
  before_action :redirect_if_customer

  protected

  def redirect_if_customer
    if request.host.eql? 'xyz.com' && request.params[:role].eql? 'staff'
      redirect_to "abc.com", status: :moved_permanently
    end
  end
end

推荐阅读