我可以根据用户使用的浏览器更改rails应用程序上的ruby权限吗?

时间:2014-10-21 21:48:41

标签: ruby-on-rails ruby-on-rails-4 browser cross-browser

例如,假设我只想在平板电脑上查看网络应用程序 - 我是否可以限制桌面和智能手机的访问权限,以便进行以下操作:

-Desktop和Smartphone用户:看到他们使用平板电脑会更好的消息,即它是唯一可以查看的方式。没有任何用户访问权限 - 无法登录或注册,但可以查看平板电脑用户发布的内容。如果他们想要互动,它会限制并告诉他们注册平板电脑。

平板电脑用户:能够登录,具有网络应用的全部功能。

这在Ruby on Rails中是否可行?

1 个答案:

答案 0 :(得分:0)

现在基于浏览器类型进行限制通常是糟糕的UX /糟糕设计,但如果你坚持这样做,你可以在request.env['HTTP_USER_AGENT']中获得用户代理。

这可以在before_filter中使用,为您提供@user_agent,就像这样:

before_filter :set_user_agent

def set_user_agent
  @user_agent = case request.env['HTTP_USER_AGENT']
    when /Mobile/
      :mobile
    else
      :not_mobile
  end
end

然后基于@user_agent ==:mobile进行分支。