ruby-on-rails – 创建名称助手,将名字和姓氏分开

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 创建名称助手,将名字和姓氏分开前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一些关于如何获取属性并通过方法处理它以返回不同内容的帮助.但我以前从未这样做过,我不确定从哪里开始.我想改变一个名字:字符串属性从“乔治华盛顿”或“约翰昆西亚当斯”变成名字只有“乔治”和“约翰”.

我想也许帮助方法最好,比如

users_helper.rb

def first_name

end

然后调用@ user.name.first_name,这最初是如何工作的?有人可以解释我下一步可以将@ user.name传递给方法吗?我见过这样的事情,但不太明白括号……

def first_name(name)
  puts name
end

有人可能会破坏rails / ruby​​这种类型的东西吗?非常感谢!

解决方法

括号(可选)括起参数列表.
def first_name(full_name)
  full_name.split(" ")[0]
end

这假设参数不是nil.

> puts first_name "Jimmy McKickems"
Jimmy
> puts first_name "Jeezy"
Jeezy

但这不是一个字符串方法,因为你的假设现在是:

@user.full_name.first_name # Bzzt.

代替:

first_name @user.name

这可以包含在模型类本身中:

class User < ActiveRecord
  # Extra stuff elided

  def first_name
    self.full_name.blank? ? "" : self.full_name.split(" ")[0]
  end
end

额外的代码检查名称是否为空或空格(空白?来自Rails).如果是,则返回空字符串.如果不是,则将其拆分为空格并返回结果数组中的第一项.

猜你在找的Ruby相关文章