2013-09-16 25 views
1

有沒有辦法區分url和文件路徑。如何在Rails中比較url和文件路徑

例如

user.avatar.url 
return -> '/home/pic.png' #if no image url is present 
return -> 'https://...' #if image url is present. 

有沒有一種方法可以檢查返回的URL是鏈接還是文件路徑?

回答

0

退房http://railscasts.com/episodes/244-gravatar

您可以檢查用戶是否具有使用present?方法檢查一個avatar_url。如果確實如此,則返回URL,否則恢復爲默認圖像。

def avatar_url(user) 
    if user.avatar_url.present? 
    user.avatar_url 
    else 
    default_url = "#{root_url}images/guest.png" 
    gravatar_id = Digest::MD5.hexdigest(user.email.downcase) 
    "http://gravatar.com/avatar/#{gravatar_id}.png?s=48&d=#{CGI.escape(default_url)}" 
    end 
end 
0

例如,在回形針:

user.avatar.exists? 
2
uri = URI.parse(user.avatar.url) 
if uri.scheme == 'http' or uri.scheme == 'https' 
    # It is a web URL 
elsif File.file?(user.avatar.url) 
    # It is a file 
else 
    # Unknown 
end