rails3 + ненавязчивый javascript + mobile - кто-нибудь заставил это работать? - PullRequest
2 голосов
/ 13 февраля 2012

У меня есть простой проект rails, который использует ненавязчивый Javavscript для обработки ссылок / форм ajax.Все отлично работает на рабочем столе.

Теперь я пытаюсь сделать сайт мобильным.Я понимаю, что это включает в себя следующие шаги:

  1. Включение ApplicationController для изменения request.format на :mobile.Обычно это делается с помощью фильтра, который считывает свойства входящего запроса и, возможно, устанавливает request.format = :mobile:

    before_filter :adjust_format_for_mobile
    
  2. Добавление некоторых строк в mime_types.rb :

    Mime::Type.register_alias "text/html", :mobile
    Mime::Type.register_alias "text/javascript", :mobilejs
    
  3. Добавление нескольких новых строк в блоки respond_to для format.mobile и format.mobilejs

    respond_to do |format|
      format.js 
      format.mobilejs
      format.html { redirect_to @post }
      format.json { render json: @post }
    end
    

I 'Я пытался сделать все это различными способами.Я попытался сделать № 1 «вручную» внутри контроллера, затем попробовал мобильное фу.В # 2 я пробовал разные вещи, такие как "application/javascript".Я также попробовал различные способы выполнения # 3 (например, явный рендеринг).

Я могу заставить приложение делать все, кроме обработки вызова ajax из мобильного браузера.Он либо не найдет соответствующий шаблон, либо отобразит шаблон как text/html, а не как Javascript.

Я прошел через Railscast для мобильного обнаружения (# 199), а также ряд вопросов /ответы здесь (которые кажутся немного устаревшими, может быть).Я не могу заставить это работать.

Итак, мой вопрос: кто-нибудь смог сделать эту работу?Если да, можете ли вы предложить простой 1,2,3, как это сделать?Я думаю, что проблема в том, что документация по ненавязчивой проблеме javascript + mobile очень мала, а различные вещи, которые работали в прошлом, больше не работают в rails 3 (возможно)?На данный момент я готов сделать что угодно (например, перенастроить), чтобы это работало.Я даже готов сбросить ненавязчивый бит javascript и делать что-то «не-рельсовым» способом, если мне нужно.

Спасибо

...