2012-06-26 18 views
2

我试图将一个函数变量传递给载波作为一个符号无济于事,我怎么能正确地做到这一点?将变量转换为:符号并传递?

像这样:

image_tag @profile.photos.first.file_url(:size) 

我的功能:

# Get avatar in correct size 
    # Display or return default image 
    def get_avatar(id, size) 

    this_size = size.to_sym 
    @profile = User.find(id).profile rescue nil 
    image_tag @profile.photos.first.file_url(this_size) 

    rescue 
    image_tag ("/assets/avatars/img_#{size}.png") 
end 

回答

7

如果大小不是一个字符串,你需要先转换。

试试这个:

this_size = size.to_s.to_sym 

或者完全跳过该行并使用此:

@profile.photos.first.file_url(:"#{size}") 
+1

谢谢。你的回答只是帮助了我。 – slayedbylucifer