如何显示已连接用户的所有社交帐户? 是否可以使显示更容易?
IN views:
<%= twitter_profile(@user) %>
<%= facebook_profile(@user) %>
<%= linkedin_profile(@user) %>
<%= google_profile(@user) %>
<%= instagram_profile(@user) %>
助手:
def twitter_profile(user)
user.twitter_profile ? image_tag(user.twitter_profile.profile_picture_url) : ""
end
def facebook_profile(user)
user.facebook_profile ? image_tag(user.facebook_profile.profile_picture_url) : ""
end
def linkedin_profile(user)
user.linkedin_profile ? image_tag(user.linkedin_profile.profile_picture_url) : ""
end
def google_profile(user)
user.google_profile ? image_tag(user.google_profile.profile_picture_url) : ""
end
def instagram_profile(user)
user.instagram_profile ? image_tag(user.instagram_profile.profile_picture_url) : ""
end
答案 0 :(得分:0)
如果您想尝试元编程,请在帮助模块中使用此功能:
%w(twitter facebook linkedin google instagram).each do |network|
class_eval{
"def #{network}_profile(user)
user.#{network}_profile ? image_tag(user.#{network}_profile.profile_picture_url) : ''
end"
}
end
注意:为了便于阅读和调试,我不建议使用元编程。