gpt4 book ai didi

ruby-on-rails - 选择第三层 ActiveRecord_Relation - Rails、ActiveRecord、HABTM

转载 作者:搜寻专家 更新时间:2023-10-30 22:11:03 24 4
gpt4 key购买 nike

我有三个模型。 UserMessageFilter,关系如下图。如何选择 User.find(*).filters.messages

用户:

  • has_many :filters
  • has_and_belongs_to_many :messages

留言:

  • has_and_belongs_to_many :users
  • has_and_belongs_to_many :filters

过滤器:

  • belongs_to :user
  • has_and_belongs_to_many :messages

编辑 1:

我正在将结果分配给名为 @filtered_messages 的实例变量,并希望在我的 View 中遍历它。

这是我的操作:

...
def show
@filtered_messages = ...
end
...

这是我的部分观点(摘要):

<% @filtered_messages.each do |message| %>
...
<%= message.author%> #author is a column in messages_tables
...
<% end %>

最佳答案

你应该能够做到这一点:

class User
has_many :filters
has_and_belongs_to_many :messages
has_many :filter_messages, through: :filters, class_name: 'Message'
end

然后 @user.filter_messages 应该返回您想要的内容。

关于ruby-on-rails - 选择第三层 ActiveRecord_Relation - Rails、ActiveRecord、HABTM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28955178/

24 4 0
文章推荐: vue.js - 使用一个 包装器转换多个子元素
文章推荐: swift - 核心图像过滤器 CISourceOverCompositing 未按预期显示与 alpha 叠加
文章推荐: laravel - vue-loader 15 与 laravel-mix
文章推荐: android - 使用 Realm for android 将 RealmList 设置为我的数据库项