I\'m using Rails 3.1. I\'m trying to figure this out, and to my surprise, it is starting to seem that rails does not come with this method at all. Maybe im wrong.
Ca
Example folder structure.
app/
assets/
flags/
32x32/
en.png
256x256/
en.png
If you want to generate absolute flag image path we can add in to our ApplicationHelper two methods:
module ApplicationHelper
# Generate flag path by locale
# - locale. Can be "en", "it", etc.
# - flag_size. Will be used to set folder size. Folder size can be "32x32", "256x256".
# Return flag image path. Path will absolute
def generate_flag_path_by_locale(locale, folder_size = "32")
folder = "#{flag_size}x#{flag_size}"
domain_absolute_path = generate_domain_absolute_path
flag_path = ("#{domain_absolute_path}/assets/flags/#{folder}/#{locale}.png")
return flag_path
end
# Generate domain absolute path
def generate_domain_absolute_path
request_protocol = request.protocol
request_host_with_port = request.host_with_port
domain_absolute_path = request_protocol + request_host_with_port
return domain_absolute_path
end
end
Into our apps/view/products.html.erb. We must to call only:
<% flag_path = generate_flag_path_by_locale("en") %>
Final result:
http://my_domain.com:3000/assets/flags/32x32/en.png