【问题标题】:Rails 6: Lookup records that have only have ActiveText attachmentsRails 6:查找只有 ActiveText 附件的记录
【发布时间】:2020-05-17 05:16:30
【问题描述】:

我有一个User 模型,它有一个

has_rich_text :tlk_with_me

附加富文本 blob。

在我的一个页面上,我想加载具有tlk_with_me blob 的所有用户,而不加载其他用户。

我已经尝试了这个答案中的解决方案:

How to query records that have an ActiveStorage attachment?

建议执行以下查询:

@users_with_twm_attached = User.joins(:tlk_with_me_attachment)

但是我收到以下错误:

ActiveRecord::ConfigurationError (Can't join 'User' to association named 'tlk_with_me_attachment'; perhaps you misspelled it?)

我不确定如何继续。谢谢

【问题讨论】:

  • 如果您为用户及其关联的 blob 发布表结构,我们可以提供帮助
  • @RockwellRice, edgeguides.rubyonrails.org/action_text_overview.html ActionText 文档不建议在表格中添加列。 (见“4 个例子”)
  • @Mark User 表中没有相关列(请参阅我对 Rockwell 的回答)。如果有办法获取 table+blob,请告诉我。
  • 那么,如果输出记录,<%= user.tlk_with_me %> 是否有值?您应该能够检查类似<% if user.tlk_with_me != '' %> 或类似的东西,看看那里是否有值。或者,在您的控制器中,例如 users = User.all 然后 @users_with_twm = users.select {|t| user.tlk_with_me != ''} (我不确定这是否是确切的检查,这取决于数据库中的空值是什么样的)
  • 谢谢@RockwellRice。我想显示所有具有 tlk_with_me 富文本附件的用户,所以我觉得如果我与一个遍历所有用户的可枚举一起工作,如果说 5% 有一个“tlk_with_me”附件,我会做很多工作.

标签: ruby-on-rails activerecord ruby-on-rails-6


【解决方案1】:

您的案例的关联将是rich_text_tlk_with_me,因此

User.joins(:rich_text_tlk_with_me)

(也可能是.where('action_text_rich_texts.body!=""') 左右)

【讨论】:

  • 好的,谢谢。我能问一下你在哪里找到这个/你是如何学到这个的,因为它不在文档中?
  • 在这里你能找到很多关于 Rails 的东西吗?我一直在寻求了解更多信息,但从未在那里检查过。
  • @JoshuaESummers “使用源代码,Luk” :)
  • 是的,先生!我会做的
猜你喜欢
  • 1970-01-01
  • 2014-12-08
  • 2011-07-16
  • 2011-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多