Ruby on rails 显示Dir.glob索引页中的特定图像
我有一个产品控制器,可以在其中显示特定文件夹中的所有可用图像:Ruby on rails 显示Dir.glob索引页中的特定图像,ruby-on-rails,dir,Ruby On Rails,Dir,我有一个产品控制器,可以在其中显示特定文件夹中的所有可用图像: def index @images = Dir.glob("app/assets/images/database/*.jpg") end 现在,我尝试将每个图像链接到一个单独的动态显示页面: def show @images = Dir.glob("app/assets/images/database/" + params[:id] + ".jpg") end 遗憾的是,我在相当长的一段时间内收到了一个错误“没有将nil
def index
@images = Dir.glob("app/assets/images/database/*.jpg")
end
现在,我尝试将每个图像链接到一个单独的动态显示页面:
def show
@images = Dir.glob("app/assets/images/database/" + params[:id] + ".jpg")
end
遗憾的是,我在相当长的一段时间内收到了一个错误“没有将nil隐式转换为字符串”
理想情况下,我希望自动呈现索引页上数据库文件夹中的所有图像,并将它们分别链接到show操作,在该操作中,我使用exifr获取关于每个图像的特定信息
def show
@images = Dir.glob("app/assets/images/database/" + params[:id] ||
"no-image" + ".jpg")
end
这不是一个好的做法。您应该使用任何图像上传程序并设置默认图像。例如,对于CarrierWave:
class MyUploader < CarrierWave::Uploader::Base
def default_url(*args)
"/images/fallback/" + [version_name, "default.png"].compact.join('_')
end
end
classmyuploader
参数[:id]
为零。因此出现了错误。另外,当您想要一张图像时,为什么要使用Dir.glob
呢?我不确定是否有其他方法:/因为您没有图像文件。您应该显式地创建它。