Skip to content

@tomeara /inline_svg_helper.rb
Last active

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Inline SVG for Rails
# Put this method in your helper file to render inline SVG
def inline_svg(path)
file = File.open("app/assets/images/#{path}", "rb")
raw file.read
end
@weswesweswes

This is extremely helpful sir, thank you very much.

@p886

Thanks for the snippet, it is good practice to close a file after you use it. I would therefore use the block form of File#open so that the file automatically get's closed after we read from it:

def inline_svg(path)
    File.open("app/assets/images/#{path}", "rb") do |file|
    raw file.read
  end
end
@datenimperator

Instead of hard coding the path to app/assets/images I suggest to let the asset pipeline manage the file location. Use Rails.application.assets.find_asset(path).to_s instead of reading the file directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.