我正在使用Rails 5.
目标:当用户注册时,他们需要输入他们的全名(这是数据库中的一列)。在我的应用程序的各个部分(主要是视图),我想将他们的名字拆分为只显示他们的名字。
我可以采取的方式:
1 - 辅助方法
# application_helper.rb
def first_name(full_name)
full_name.split[0]
end
2级方法
# user.rb
def first_name
self.full_name.split[0]
end
哪种方式是首选方法?两者都有优点/缺点吗?我很难弄清楚要使用哪一个,或者只是偏好。
答案 0 :(得分:0)
两件事。首先,这个:
full_name.split[0]
不是类方法。这是一个实例方法。
其次,IMO,您希望尽可能在视图中使用 little 逻辑。并且,您的观点不应该知道关于您的模型或其内部工作的任何。如果由于某种原因,您的模型或数据发生变化并且10,1000,5000,50,tree,birch,12IN
11,1100,5500,55,tree,spruce,10IN
12,1130,5560,54,powerpole,tele,wood,12IN,guyed
不再是获取名字的方式,会发生什么?然后,您必须记住,您将该逻辑放在帮助器中并在那里进行更改。
所以,选择#2 - 实例方法。