加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 04:37:31 所属栏目:百科 来源:网络整理
导读:我正在寻找一些关于如何获取属性并通过方法处理它以返回不同内容的帮助.但我以前从未这样做过,我不确定从哪里开始.我想改变一个名字:字符串属性从“乔治华盛顿”或“约翰昆西亚当斯”变成名字只有“乔治”和“约翰”. 我想也许帮助方法最好,比如 users_help
我正在寻找一些关于如何获取属性并通过方法处理它以返回不同内容的帮助.但我以前从未这样做过,我不确定从哪里开始.我想改变一个名字:字符串属性从“乔治华盛顿”或“约翰昆西亚当斯”变成名字只有“乔治”和“约翰”.

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

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).如果是,则返回空字符串.如果不是,则将其拆分为空格并返回结果数组中的第一项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读