我可能会看到这一切都错了,但在我看来(使用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个属性我需要通过帮助器吗?
任何帮助表示赞赏
答案 0 :(得分:2)
两件事。首先,你为什么不把它放在成员模型上。其次,你应该使用插值而不是连接。
def fullname
"#{self.forename} #{self.middlename} #{self.surname}"
end
答案 1 :(得分:1)
有三个属性?你有一个成员,有三个属性。
那说:ActiveAdmin provides integration with Draper。考虑使用装饰器,将fullname
放在装饰器中,然后引用fullname
,就像它是模型属性一样。
如果真的有意义,你也可以把它放在模型中。