Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 检查rails中是否存在图像_Ruby On Rails - Fatal编程技术网

Ruby on rails 检查rails中是否存在图像

Ruby on rails 检查rails中是否存在图像,ruby-on-rails,Ruby On Rails,我正在rails项目中添加这样的图像。我想检查图像是否存在,如果不存在,我想对所有不存在图像的地方使用一个公共图像 请帮忙 <div class = "col-sm-2"> <center> <%= image_tag pco.printable_photo.url(:small) %> <label> <%= pco.name %>

我正在rails项目中添加这样的图像。我想检查图像是否存在,如果不存在,我想对所有不存在图像的地方使用一个公共图像

请帮忙

          <div class = "col-sm-2"> 
         <center> 
          <%= image_tag pco.printable_photo.url(:small) %>
          <label>
            <%= pco.name %>
          </label>
        </center>
      </div>

应用程序\u helper.rb中编写一个helper方法

def print_image(url)
  url = Rails.application.assets.find_asset(url).nil? ? nil : url
  image_tag url || 'default_image.jpg'
end
然后在您看来,使用以下方法:

<%= print_image(pco.printable_photo.url(:small)) %>


尽量避免在你看来写逻辑。借助视图帮助程序

非常感谢你在那里引起我的注意。我之前搜索了js代码,因此无法在这里登陆,所以这个答案可能对你有帮助:所以我想用rails的方式,所以下面的答案帮助我更新了我的答案,看看是否有帮助。试试这个,让我看看它打印什么,
print_image(pco.printable_photo.url(:small))。检查它是否有效,我做得不对,谢谢。。现在,如果我不想使用助手,方法,我该怎么做呢?或者你能解释我的第二行吗??url=Rails.application.assets.find_asset(url).nil?零:url@Suraj,我使用
Rails.application.assets.find_asset(url).nil?
检查了图像文件是否存在,如果图像不存在,则返回true。假设您从数据库中提供了url,但文件不知何故已从文件系统中删除,在这种情况下,此检查将有所帮助。