首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActionView::MissingTemplate:缺少模板:formats=>[:mobile]

ActionView::MissingTemplate:缺少模板:formats=>[:mobile]
EN

Stack Overflow用户
提问于 2012-05-21 16:13:35
回答 2查看 1.7K关注 0票数 1

在Rails中,我正在尝试实现移动视图。刚刚安装的mobylette gem似乎比mobile_fu有更新的活动。

https://github.com/tscolari/mobylette

但是,来自移动设备的大多数请求都以此错误结束

代码语言:javascript
复制
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"

知道为什么吗?

EN

回答 2

Stack Overflow用户

发布于 2012-05-21 16:21:50

您可能需要添加自己的移动格式。

在config/initializers/mime_types.rb中,添加:

代码语言:javascript
复制
Mime::Type.register_alias "text/html", :mobile
票数 0
EN

Stack Overflow用户

发布于 2012-05-21 19:51:10

如果您设置了mime类型并在控制器中设置了respond_to :mobile,那么您唯一的问题应该是实际缺少移动模板文件。

默认情况下,您需要在相应的view_path中有一个名为<action>.<format>.<handler> or <action>.<handler>的模板文件

我怀疑默认的devise模板(在成功创建重定向以显示操作之后)是show.html.erb

您最安全的选择是创建它或符号链接它(以及所有其他操作)

代码语言:javascript
复制
ln -sf show.html.erb show.mobile.erb # in linux

哪里?好吧,如果你用的是devise rake task

代码语言:javascript
复制
rails generate devise:views

然后你就知道它会在app/views/devise/registrations

如果您在config/initializers/devise.rb中设置了config.scoped_views = true,那么它将位于app/views/users/registrations之下,因为您的设备模型是使用UsersController的用户。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10681600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档