首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rails 5载波图像无路径匹配

rails 5载波图像无路径匹配
EN

Stack Overflow用户
提问于 2016-10-29 14:09:29
回答 1查看 2.4K关注 0票数 3

我需要些帮助。我使用rails 5和载波上传图像。我的问题是,图像保存,但不会显示,我得到一个没有路线匹配得到……我将图像存储在Rails.root的上传文件夹中,因为我不希望它们保存在公共dir中。

image_uploader.rb

代码语言:javascript
运行
复制
  def store_dir
   "uploads/#{model.user_id}/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

carrier_wave.rb

代码语言:javascript
运行
复制
require 'carrierwave/orm/activerecord'
require 'carrierwave'
CarrierWave.configure do |config|
 config.root = Rails.root
end

这是我在日志中看到的错误:

代码语言:javascript
运行
复制
Started GET "/uploads/2/uitem/image/26/A_penrose-small.jpg" for ::1 at 2016-10-29 16:06:27 +0200

ActionController::RoutingError (No route matches [GET] "/uploads/2/uitem/image/26/A_penrose-small.jpg"):

任何帮助都将是非常感谢的,我一直在寻找,并没有找到解决办法。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-29 15:41:35

找不到图像的原因是web服务器的根目录是Rails应用程序的公共目录,所以它在“public /uploads/2/.”下面查找图像。

由于web服务器找不到它将请求传递给Rails堆栈的文件,而且没有定义匹配的路由,所以它会抛出一个错误。

如果您将图像上传根目录更改为公共目录,它应该会像您预期的那样工作。

更新

如果您不想将图像放在公共目录下,您可以创建一个路由和控制器操作来服务这些图像。您可以在控制器操作中使用send_file方法。看看这个问题:

ROOT

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

https://stackoverflow.com/questions/40319938

复制
相关文章

相似问题

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