- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 rails4 中有一个奇怪的错误,阻止我在 has_many 关联上链接“collect”。
我有 self has_many > 文件夹
然后 文件夹 has_many > share_links
和 share_link has_many > devices
这按预期工作:
self.folders.first.share_links.first.devices
这行不通:
self.folders
.collect { |folder| folder.share_links }
.collect { |share_link| share_link.devices }
.uniq.count
有错误:
#<NoMethodError: undefined method `devices' for #<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_ShaShareLink:0x007ff3b5f0dbf0>>
似乎 collect 不像我想的那样起作用?!
最佳答案
folder.share_links
返回一个数组。所以 self.folders.collect { |folder| 的结果folder.share_links
是一个二维数组。您必须使用 flatten
self.folders
.collect { |folder| folder.share_links }.flatten
.collect { |share_link| share_link.devices }.flatten
.uniq.count
SQL
Model
.joins(:folders)
.joins("share_links on share_links.folder_id = folders.id")
.joins("devices on devices.share_links_id = share_links.id")
.count("distinct('<id>')")
关于ruby-on-rails - Rails4 : ActiveRecord. ..CollectionProxy: NoMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21262617/
我正在尝试理解 CollectionProxy暴露在 nHibernate 中。它只是 ICollection 的扩展以返回列表集合吗?如果是这样,为什么要使用代理模式? 最佳答案 您正在观察的是 V
我想知道 ActiveRecord::Associations::CollectionProxy 之间的区别和 ActiveRecord::AssociationRelation . class Ve
我需要在后台标记一组消息(我正在使用 delay_job gem),因为在前台需要一些时间。所以我创建了一个 ActiveJob类(class)MarkMessagesAsReadJob ,并通过了
我使用了模态 class School [:taggings => [:tag]]).map{|i| i.subject} 但我没有得到主题列表,而是得到了 [# 最佳答案 我也遇到过类似的问题。
我有模型order.rb class Order 保存订单时在线。当我注释掉时 has_many :attributes, dependent: :destroy, class_name:
我在 rails4 中有一个奇怪的错误,阻止我在 has_many 关联上链接“collect”。 我有 self has_many > 文件夹 然后 文件夹 has_many > share_lin
我使用事件记录 4(映射遗留数据库)设置了以下模型 class Page 17 page.content.second.content_id => 18 但是我希望能够像这样遍历所有项目 page.
我在遍历集合属性以获取值时遇到问题。 这是我的代理 , #]> 我希望能够像这样遍历代理中的所有对象。 my_collection_proxy.each do |c| c.name end 但这似乎不
假设我有模型 Topics 和 Posts,其中 Topic has_many :posts 和 Post belongs_to :topic。此时我的数据库中已经有了一些东西。 如果我进入 Rail
我有一个 has_many 主题的组模型。主题模型 has_many 帖子。我想为按 Post 属性 :published_on 排序的组创建所有主题的数组。 在我的群组展示页面上,我有 @group
正如标题所解释的,假设我有两个 ActiveRecord::Base 模型:SatStudentAnswer 和 ActStudentAnswer。 我有一个学生模型 has_many :act_st
我有以下关联: class Question :destroy has_many :surveys, :dependent => :delete_all belongs_to :input
我开始从 Rails 4.1.4 升级到 Rails 4.2.0。好像是第一!不再支持某些事件记录关联。 first!(在 ActiveRecord::Associations::Collection
我是一名优秀的程序员,十分优秀!