小编Jer*_*y B的帖子

移动页面的单独移动视图和布局

在我们的应用程序中,我们有几个可用移动格式的页面,但并非全部都是。

所以我决定遵循该教程:添加移动页面的更好方法,效果很好。

当用户使用移动设备时,如果移动视图可用,则会呈现移动视图,否则将显示桌面版本。

但是我对布局有疑问。我的桌面布局和移动布局不同,因此当呈现移动页面时,我想使用我的移动布局,而当显示桌面版本时,即使用户使用移动设备,我也想使用我的桌面布局。

我将以下代码添加到我的应用程序控制器中(我还在此链接添加移动页面的更好方法中添加了代码)以检测用户是否移动并相应地更改布局:

layout :determine_layout

def mobile_device?
  if session[:mobile_override]
    session[:mobile_override] == "1"
  else
    # Season this regexp to taste. I prefer to treat iPad as non-mobile.
    (request.user_agent =~ /(iPhone|iPod|Android|webOS|Mobile)/) && (request.user_agent !~    /iPad/)
  end
end
helper_method :mobile_device?

def determine_layout
  if mobile_device?
    "mobile"
  else
    "application"
  end
end
Run Code Online (Sandbox Code Playgroud)

然而,此代码的问题是,即使该页面在 view_mobiles 中不可用,它也会尝试显示移动布局,因为我正在检查移动设备而不是移动页面。

如何根据渲染的视图确定布局?或者该视图是否存在?

我的移动视图位于 view_mobiles 文件夹中。我想检查是否呈现移动视图而不是移动设备并显示相应的布局。

那可能吗 ?

多谢,

mobile ruby-on-rails

5
推荐指数
1
解决办法
4833
查看次数

Select2与Rails和JSON

我试图在我的Rails应用程序中使用select2,但是无法在我的视图中显示结果。我在Chrome浏览器控制台中看到了正确的json,但无法在下拉列表中显示结果...

请你帮助我好吗 ?

谢谢 :

控制器:

def friends
  if params[:term]
    @users = User.where{ ( (first_name =~ my{"%#{params[:term]}%"}) | (last_name =~ my{"%#{params[:term]}%"}) | ( ((first_name.op('||', ' ')).op('||',last_name)) =~ my{"%#{params[:term]}%"}) | ( ((last_name.op('||', ' ')).op('||',first_name)) =~ my{"%#{params[:term]}%"}) ) & ( adult==false ) }
  end
  respond_to do |format|  
    format.html
    format.json { render :json =>{:results => @users.to_json(only: [:id, :first_name, :last_name]) }}
  end
end
Run Code Online (Sandbox Code Playgroud)

我的Java语言:

$("#teen_search").select2({
  placeholder: "Search for a teen",
  minimumInputLength: 2,
  ajax: {
    url: "/friends.json",
    dataType:'json',
    data: function (search, page) {
      return { …
Run Code Online (Sandbox Code Playgroud)

jquery json ruby-on-rails ruby-on-rails-3 jquery-select2

4
推荐指数
1
解决办法
7750
查看次数