Ruby:用户名姓氏不存在?

时间:2016-03-09 12:33:56

标签: ruby-on-rails

public static string Directorypath
    {
        get
        {
            return System.IO.Path.Combine((string)Android.OS.Environment.ExternalStorageDirectory, "FolderPath");
        }
    }

如果名字和姓氏不存在或其中任何一个  那么如何分配空字符串而不是错误  如果姓氏不存在,如何连接空字符串?

4 个答案:

答案 0 :(得分:0)

使用此代码:

def fullname  
   if first_name.blank? && last_name.blank? 
      self.first_name= ""
      self.last_name= "" 
   elsif first_name.blank?
      self.first_name= ""
   elsif last_name.blank?
      self.last_name= ""
   else
   end

  "#{first_name} #{last_name}"  
end

答案 1 :(得分:0)

首先,您必须确保定义了变量。因为即使您的变量具有nilempty string ('')值,rails也不会出错。例如:

first_name = ''
=> ""

first_name = nil
=> nil

如果您的方法来自模型,您应该这样做:

def fullname
  [self.first_name, self.last_name].join(' ')
end

如果来自帮助者,则应传递参数:

def fullname(first_name, last_name)
  [first_name, last_name].join(' ')
end

答案 2 :(得分:0)

尝试简单的逻辑。

"#{first_name if first_name.present?} #{last_name if last_name.present?}".strip

答案 3 :(得分:0)

只需简单地定义full_name就像这样:

def full_name
  [first_name, last_name].select(&:present?).join(' ')
end

因此,如果first_namelast_name为空,则在加入时会被忽略!

相关问题