0

Rails アプリ用のモバイル MIME タイプを作成しました (つまり、2 種類のビュー ファイルhtml.erbmobile.erb)。

フォーマットに変換されていない静的ページ (例: static_pages/about.html.erb) があり.mobileます。

誰かがモバイルで不足しているテンプレートにアクセスしようとした場合、root_path に自動的にリダイレクトするにはどうすればよいですか?

4

1 に答える 1

4

これは面倒ですが、あなたがその過程で働いていることは理解できます。

大まかなアイデアはありますが、検証されていません

class ApplicationController < ActionController::Base
  rescue_from ActionView::MissingTemplate, :with => :template_not_found

  private

  def template_not_found
    redirect_to root_path
  end
end

さらなる質問のために追加

追加の質問については、同じドメインから通常のサイトとモバイル サイトを提供しているようで、ユーザー エージェントまたは他の JS メソッドを使用して検出しています。

ここでのより良い方法は、最初に通常のページをサービスに使用し (通常のサイトが最初の焦点である場合)、後でモバイルに適応することだと思います。

したがって、テンプレートが欠落している場合、訪問者は、モバイルを使用している場合でも、レンダリングまたはリダイレクトによって提供される通常のページをいつでも取得できます。

あなたのページにリンクしているのはあなただけではありません。ユーザーがソーシャル ブックマークを追加すると、Google がサイトをインデックスに登録します。これらはすべて、リンクが公開される原因となります。

それらのほとんどがカバーされている場合は、欠落しているテンプレートのレスキューを追加しても問題ないと思います.

于 2013-04-29T15:05:24.343 に答える