Rails:如果一个字段为空,则数组为空

时间:2014-03-01 05:56:50

标签: ruby-on-rails ruby arrays

如果只有一个字段未填充,为什么会返回空白?对我没有任何意义。

def api_user_information
  user_information = "#{user.address}\n\n"
  user_information << "<b>P</b> #{user.phone}\n" unless user.phone.blank?
  user_information << "<b>F</b> #{user.fax}\n" unless user.fax.blank?
  user_information << "<b>M</b> #{user.mobile}\n" unless user.mobile.blank?
  user_information << "<b>E</b> #{user.email}\n" unless user.email.blank?
  user_information << "<b>W</b> #{user.url}\n" unless user.url.blank?
  user_information << "<b>Facebook</b> #{user.facebook}\n" unless user.facebook.blank?
  user_information << "<b>Twitter</b> @#{user.twitter}" unless user.twitter.blank?
end

1 个答案:

答案 0 :(得分:4)

最后一个结果是你的方法的返回值。所以返回值是

的结果
user_information << "<b>Twitter</b> @#{user.twitter}" unless user.twitter.blank?

如果“user.twitter.blank?”是的,“user_information&lt;&lt;” Twitter @#{user.twitter}“永远不会到达。它可能会返回”nil“。

如何添加

user_information 

return user_information 

在方法的最后一行并查看结果。