Um tipo de mímica móvel pode voltar para "html" no Rails?

Estou usando esse código (retirado deaqui) no ApplicationController para detectar solicitações do iPhone, iPod Touch e iPad:

before_filter :detect_mobile_request, :detect_tablet_request

protected

def detect_mobile_request
  request.format = :mobile if mobile_request?
end

def mobile_request?
  #request.subdomains.first == 'm'
  request.user_agent =~ /iPhone/ || request.user_agent =~ /iPod/
end

def detect_tablet_request
  request.format = :tablet if tablet_request?
end

def tablet_request?
  #request.subdomains.first == 't'
  request.user_agent =~ /iPad/
end

Isso me permite ter modelos como show.html.erb, show.mobile.erb e show.tablet.erb, o que é ótimo, mas há um problema: parece que devo definir todos os modelos para cada tipo de mímica. Por exemplo, solicitar a ação "show" de um iPhone sem definir show.mobile.erb gerará um erro mesmo que show.html.erb esteja definido. Se um modelo para celular ou tablet estiver ausente, eu gostaria de simplesmente recorrer ao modelo html. Não parece muito buscado, pois "mobile" é definido como um alias para "text / html" no mime_types.rb.

Então, algumas perguntas:

Estou fazendo isso errado? Ou há uma maneira melhor de fazer isto?Caso contrário, posso fazer com que os tipos de mímica para celular e tablet utilizem html se um arquivo para celular ou tablet não estiver presente?

Se isso importa, estou usando o Rails 3.0.1. Agradecemos antecipadamente por quaisquer ponteiros.

EDITAR: Algo que esqueci de mencionar: acabarei mudando para subdomínios separados (como você pode ver comentado no meu exemplo), para que o carregamento do modelo realmente precise acontecer automaticamente, independentemente de qualbefore_filter tem corrido.

questionAnswers(15)

yourAnswerToTheQuestion