创建Helper以连接模型属性

时间:2013-12-11 15:26:53

标签: ruby-on-rails ruby activeadmin view-helpers

我可能会看到这一切都错了,但在我看来(使用Active Admin)我想将3个属性连接成一个,所以在我的情况下,forename,middlename和surname合为一个字符串,每个部分都有名称用空格分隔

到目前为止,我已经提出了这个

column "Name" do |member|
  member.forename +  member.middlename + member.surname
end

我还以为我可以映射结果

column "Name" do |member|
  member.map {|m| m.forename,  m.middlename, m.surname }
end

但是会引发错误

所以帮助器看起来像这样(据我所见)

def fullname(member)
  member.forename +  member.middlename + member.surname
end

我觉得我在这个地方混淆了这个因为我有3个属性我需要通过帮助器吗?

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:2)

两件事。首先,你为什么不把它放在成员模型上。其次,你应该使用插值而不是连接。

def fullname
  "#{self.forename} #{self.middlename} #{self.surname}"
end

答案 1 :(得分:1)

有三个属性?你有一个成员,三个属性。

那说:ActiveAdmin provides integration with Draper。考虑使用装饰器,将fullname放在装饰器中,然后引用fullname,就像它是模型属性一样。

如果真的有意义,你也可以把它放在模型中。