1

Rails では、モバイル ビューを実装しようとしています。mobylettemobile_fu よりも最近のアクティビティがあると思われる gem をインストールしました。

https://github.com/tscolari/mobylette

ただし、モバイル デバイスからの要求のほとんどは、このエラーで終了します。

ActionView::MissingTemplate: Missing template my_controller/index, application/index with {:locale=>[:en], :formats=>[:mobile], :handlers=>[:erb, :builder, :haml]}. Searched in: * "/app/app/views" * "/app/vendor/bundle/ruby/1.9.1/gems/devise-1.5.2/app/views" * "/app/app/views"

理由はありますか?

4

2 に答える 2

0

MIME タイプを設定respond_to :mobileしてコントローラーにある場合、唯一の問題はモバイル テンプレート ファイルが実際に見つからないことです。

デフォルトでは、適切な view_path にテンプレート ファイルが必要です。<action>.<format>.<handler> or <action>.<handler>

デフォルトのdeviseテンプレート(アクションを表示するためのリダイレクトの作成が成功した後)はshow.html.erb

あなたの最も安全な賭けは、それを作成するか、シンボリックリンクすることです(および他のすべてのアクション)

ln -sf show.html.erb show.mobile.erb # in linux

どこ?さて、devise rake タスクを使用した場合

rails generate devise:views

それからあなたはそれが下になることを知っていますapp/views/devise/registrations

config.scoped_views = true内部に設定すると、デバイスモデルがUsersControllerを使用するユーザーconfig/initializers/devise.rbである場合、それは下になります。app/views/users/registrations

于 2012-05-21T11:51:10.057 に答える
0

おそらく、モバイル形式を自分で追加する必要があります。

config/initializers/mime_types.rb に以下を追加します。

Mime::Type.register_alias "text/html", :mobile
于 2012-05-21T08:21:49.847 に答える