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

ruby-on-rails – 数组的未定义方法?

发布时间:2020-12-16 21:18:36 所属栏目:百科 来源:网络整理
导读:所以我有这个数据结构: +[#Folder id: 1,name: "mollitia",parent_id: nil,user_id: 1,created_at: "2014-06-27 16:00:59",updated_at: "2014-06-27 16:00:59",+ #Folder id: 2,name: "porro",parent_id: 1,+ #Folder id: 3,name: "omnis",parent_id: 2,upd
所以我有这个数据结构:
+[#<Folder id: 1,name: "mollitia",parent_id: nil,user_id: 1,created_at: "2014-06-27 16:00:59",updated_at: "2014-06-27 16:00:59">,+ #<Folder id: 2,name: "porro",parent_id: 1,+ #<Folder id: 3,name: "omnis",parent_id: 2,updated_at: "2014-06-27 16:00:59">]

由self.ancestors返回
我可以采摘它的名字吗?

def pwd
    self.ancestors.pluck(:name)
end

以上结果

undefined method `pluck' for #<Array:0x007ff4da780290>

更新

令人敬畏的结构打印:

[
    [0] #<Folder:0x007fd2946a5f18> {
                :id => 3,:name => "blanditiis",:parent_id => 2,:user_id => 1,:created_at => Fri,27 Jun 2014 18:04:02 UTC +00:00,:updated_at => Fri,27 Jun 2014 18:04:02 UTC +00:00
    },[1] #<Folder:0x007fd2946ad1c8> {
                :id => 2,:name => "neque",:parent_id => 1,[2] #<Folder:0x007fd2946b80c8> {
                :id => 1,:name => "ut",:parent_id => nil,27 Jun 2014 18:04:02 UTC +00:00
    }
]

解决方法

pluck与rails一起用于更改与数据库的关联查询.它会将它从SELECT *更改为SELECT [attr],其中[attr]是pluck的参数.因为它是一个数组,所以你不能使用它.你应该使用ruby的常规旧地图.在你的情况下,它看起来像:
def pwd
  self.ancestors.map(&:name)
end

(编辑:李大同)

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

    推荐文章
      热点阅读