2016-01-25 5 views
0

Я строию целевую страницу, используя Middleman прямо сейчас (я не знаком с бэкэндом). Я разделить каждый секции в разные частичные (например):Middleman: Как я могу отобразить другое частичное для мобильного устройства?

= partial "partials/_section-1" 
= partial "partials/_section-2" 
= partial "partials/_section-3" 

Я пытался отобразить другие частичным, если пользователь просматривает веб-сайт через мобильный телефон:

= partial "partials/_section-1" 
- if mobile_device? 
    = partial "partials/_section-2-mobile" 
- else 
    = partial "partials/_section-2" 
= partial "partials/_section-3" 

Есть ли способ, я могу добиться этого? Вероятно, что-то похожее на помощника Руби:

def mobile_device? 
    if session[:mobile_param] 
     session[:mobile_param] == "1" 
    else 
     request.user_agent =~ /Mobile|webOS/ 
    end 
end 
helper_method :mobile_device? 

Спасибо!

ответ

0

Вы можете просто использовать следующую функцию:

def mobile_device? 
    if session[:mobile_param] 
    session[:mobile_param] == "1" 
    else 
    request.user_agent =~ /Mobile|webOS/ 
    end 
end 

Также Railscast с дополнительной информацией: http://railscasts.com/episodes/199-mobile-devices

Для лучшего Regexp используйте следующий сайт: http://detectmobilebrowsers.com/


Поскольку у вас уже есть один и тот же скрипт, где ваш вопрос?

+0

Я сделал, но он не работает на Middleman. Я получаю эту ошибку каждый раз: 'undefined local variable или method 'session'' – Wawan

0

Middleman создает статические страницы, поэтому его совсем не затрагивает, когда клиент обращается к сайту. Так что Мидман не может это сделать.

Лучше всего использовать css или javascript.

+0

Да. Правда что. Сначала я был слишком амбициозен с посредником: P – Wawan