繁体   English   中英

Ruby on Rails-has_many表中的显示字段

[英]Ruby on Rails - Show field from has_many table

我有两个桌子:轮船和航程。 一艘船可以有很多航程,但是一艘船只能有一艘船。

在RoR中,ship模型具有has_many:voyages,而Voyage模型则设置为belongs_to:ship

我可以使用类似于以下的代码在视图中显示ship表中的所有字段,而不会出现任何问题:

<%= @ship_data.id %>

我现在试图在视图中显示航程表中的一条信息。

如果我做:

<%= @ship_data.voyages %> 

我能够拉出ActiveRecord条目,即:

#<Voyage::ActiveRecord_Associations_CollectionProxy:0x00000006639a10>

如果附加.to_json,则可以提取所有数据的json文件。

我将如何在视图中显示特定字段,我尝试过的事情包括:

<%= @ship_data.voyages.id %>

<%= @ship_data.voyages, :id %>

但是两者都错了我。 注意:虽然这种关系是一艘船可以进行多次航行,但目前每艘船只有一次航行。

我会承认自己是RoR的新手!

@ship_data.voyages是一个ActiveRecord 关系 这就像一系列物品。 您可以获取每个项目的ID数组:

<%= @ship_data.voyages.pluck(:id) %>

或遍历数组:

<% @ship_data.voyages.each do |voyage| %>
    <%= voyage.id %>
<% end %>

或仅获得first航行:

<%= @ship_data.voyages.first.id %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM