【问题标题】:Create Helper to Concatenate Model Attributes创建帮助器以连接模型属性
【发布时间】:2013-12-11 15:26:52
【问题描述】:

我可能看错了,但在我看来(使用 Active Admin)我想将 3 个属性连接成一个,所以在我的例子中,名字、中间名和姓氏变成一个字符串,名称的每个部分用空格隔开

到目前为止,我想出了这个

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 个属性我需要通过帮助程序,不是吗?

任何帮助表示赞赏

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      哪三个属性?您有一个成员,具有三个属性。

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

      如果这样做确实有意义,您也可以将其放入模型中。

      【讨论】:

        猜你喜欢
        • 2011-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-11
        • 1970-01-01
        相关资源
        最近更新 更多