我正在ruby on rails上做一个netflix clone项目,我需要从rails的一个相关列中获取不同的流派名称,也就是说,我从第一个表中得到了流派的"genre_id",从第二个表中得到了流派的"name",那么我怎么才能得到这个"name"呢?
- 电影桌**
Title | Genre
xxxx | 1
aaaa | 1
bbbb | 1
cccc | 1
zzzz | 2
dddd | 2
eeee | 2
gggg | 2
- 类型表**
id | name
1 | Action
2 | Romance
- 在模型中**
@action = Movie.where(genre_id: 1)
- 试试**
<%= @action.select(:genre_id).distinct %>
- 结果**
#<Movie::ActiveRecord_Relation:0x00007fb908040470>
- 预期**
Action
- PS:这些返回错误**
<% @action.first.genre_id.name %>
<% @action.select(:genre_id).first.name %>
<% @action..select(:genre_id).distinct.as_json %> --> returns [{"genre_id"=>1, "id"=>nil}]
<% @action.first.genre_id %> --> returns 1
1条答案
按热度按时间sq1bmfud1#
因为我还不能发表评论,我会回答。它是一个old question,对于Rails 5+,你应该使用以下代码:
它将返回唯一的
genre_id
的数组。