【发布时间】:2023-03-08 17:26:01
【问题描述】:
我的 Rails 应用程序有一个小功能,用户可以参考其他用户。为此,我需要在 user 表中有一个简单的列来存储引用用户的 id。然后我使用 id 来检索和显示引用的用户。
我认为Serialize 是最好的选择,但我无法从当前看起来像21,22,23,24,25 的数组中检索所有 id。
目前我找到的用户有:
@user = User.find(params[:id])
@references = User.find(@user.references)
但在我看来,例如@references.name,只有第一个出现。这似乎是我所能做的,因为每个块都会抛出一个未定义的方法错误。
有什么想法吗?此外,如果有比序列化更有效的方法来实现这一点,我会全神贯注。欢迎并赞赏所有对此的见解。
【问题讨论】:
-
顺便说一句,如果
User.find(@user.references)是 返回多个实例,那么您随后的@references.name将抛出一个未定义的方法错误,因为您正在尝试获取@ 987654327@ ActiveRecord 关系的属性。
标签: ruby-on-rails activerecord serialization ruby-on-rails-4