0

我的 Rails 应用程序有一个专门的仪表板,它使用媒体查询向用户显示。我想设计在登录时将移动设备上的用户(通过媒体查询)重定向到该特定仪表板。

什么是完成这项工作的好方法,同时试图避免让 rails 实际检测到任何东西?我已经研究了browser一些 gem,但我想要更全面和可定制的东西,比如媒体查询。

有什么建议可以从哪里开始寻找,或者我可以在我的 View / JS / CSS 中放入什么样的代码来实现这一点?

我非常希望为特定的媒体查询触发特定的控制器操作,但我觉得这可能是一个无法实现的梦想。

4

1 回答 1

1

我认为您可以使用变体来实现这一目标。

使用variant选项,您可以执行以下操作来呈现不同的仪表板视图:

respond_to do |format|
  format.html do |html|
    html.desktop # renders app/views/projects/show.html+desktop.erb
    html.mobile { extra_setup; render ... }
  end
end

或者,您可以为所有操作开发移动友好视图并执行此操作(使用browsergem):

before_action :define_variant

def define_variant
  request.variant = :tablet if browser.phone?
end
于 2015-07-14T23:49:24.877 回答