【问题标题】:image_tag - Is there a way to make the alt attr blank by default?image_tag - 有没有办法让 alt attr 默认为空白?
【发布时间】:2025-12-10 20:50:02
【问题描述】:

如果缺少图像而不是图像的文件名,我宁愿使用空白的 alt 属性(谁想要这种默认行为?)

有没有办法进行系统配置,如果没有给出 alt,image_tag 设置一个空白的 alt attr?

明确一点:我对 image_tag('path/to/image', :alt => '') 不感兴趣,我有兴趣为所有 image_tags 设置一次。

【问题讨论】:

    标签: ruby-on-rails image alt


    【解决方案1】:

    对于 Rails 3.2,在 config/initializers 下添加这个

    module ActionView::Helpers::AssetTagHelper
    
      def image_alt(src)
        return ''
      end
    
    end
    

    【讨论】:

      【解决方案2】:

      你可以用猴子补丁ActionView::Helper#image_alt

      def image_alt(src)
        ''
      end
      

      【讨论】:

      • 我觉得应该是 ActionView::Helpers::AssetTagHelper#image_alt(src)
      • 我刚刚验证了修补 ActionView::Helper 不适用于 Rails 3.2。请用我之前的评论更新您的答案,我会投票并接受它。
      【解决方案3】:

      或者使用你自己版本的图片助手

      #ApplicationHelper
      def my_image_tag(source, options={})
        options(:alt) = ''
        image_tag(source, options)
      end
      

      那就用吧,my_image_tag "test/test.png"

      【讨论】:

        最近更新 更多