在Rails中,我正在尝试实现移动视图。刚刚安装的mobylette gem似乎比mobile_fu有更新的活动。
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"知道为什么吗?
发布于 2012-05-21 16:21:50
您可能需要添加自己的移动格式。
在config/initializers/mime_types.rb中,添加:
Mime::Type.register_alias "text/html", :mobile发布于 2012-05-21 19:51:10
如果您设置了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 task
rails generate devise:views然后你就知道它会在app/views/devise/registrations下
如果您在config/initializers/devise.rb中设置了config.scoped_views = true,那么它将位于app/views/users/registrations之下,因为您的设备模型是使用UsersController的用户。
https://stackoverflow.com/questions/10681600
复制相似问题