如何从数组中获取正确的值,这些值在其他表中

时间:2016-10-10 21:10:20

标签: ruby-on-rails ruby-on-rails-4

我将记录列表保存为数据库,如下所示:

---
- '9'
- '10'
- '11'

这些内容保存在表格的option_ids列中。

我有另一张表,他们都在下面。

enter image description here

我需要做的是打印speak well的值文本,如果options_ids列中包含其ID。因此,如果options_ids包含9,10,12等,将会发生这样的情况,因此我们将打印其他行表格中的数据,如speak well, read well, listen well

2 个答案:

答案 0 :(得分:1)

假设您的“其他表格”是类OtherTable并假设您的第四列名为text,那么您想要

options_ids.map{|option| OtherTable.find(option).text}.join(', ')

答案 1 :(得分:1)

使用rails时,您应该利用Active Record Associations。 我猜用户(?)可以从第二个表中选择不同的选项。 该关联将是has_and_belongs_to_many - 关系。

好的阅读是导轨指南中的这一部分:http://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association

基本上,您在用户和选项之间设置了一个连接表,并告​​诉两个模型它们之间存在has_and_belongs_to_many - 关系。 然后,当您获取用户时,您可以简单地调用user.options,并显示与该用户对象相关的选项。