Search code examples
elixirexrm

Loading files in exrm release


I'm using an html file as a template with the following code, working in dev mode (not in an exrm release):

{:ok, template} = File.read "priv/static/templates/receipt_template.html"

When the release is packaged with exrm, this relative path is no longer valid and the file can't be found. Is there a better way to declare the path, so that it won't get messed up when this is turned into a release?


Solution

  • Use Path.join("#{:code.priv_dir(:your_app_name)}", "static/templates/receipt_template.html") to get the correct path. I would recommend always using this because it is guaranteed to work regardless of environment.