Ruby 在 Rails - 显示来自 has_many table 的字段
Ruby on Rails - Show field from has_many table
我有两个 tables:Ships 和 Voyages。一艘船可以有很多航次,但一个航次可能只有一艘船。
在 RoR 中,船舶模型有一个 has_many :voyages 并且 Voyage 模型设置为 belongs_to: ship
我可以在视图中显示船舶 table 中的所有字段,而不会出现任何问题,使用类似于以下的代码:
<%= @ship_data.id %>
我现在正尝试在视图中显示来自航行 table 的一条信息。
如果我这样做:
<%= @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 relation。这就像一组项目。您可以获得每个项目的 ID 数组:
<%= @ship_data.voyages.pluck(:id) %>
或者遍历数组:
<% @ship_data.voyages.each do |voyage| %>
<%= voyage.id %>
<% end %>
或仅获得first
航程:
<%= @ship_data.voyages.first.id %>
我有两个 tables:Ships 和 Voyages。一艘船可以有很多航次,但一个航次可能只有一艘船。
在 RoR 中,船舶模型有一个 has_many :voyages 并且 Voyage 模型设置为 belongs_to: ship
我可以在视图中显示船舶 table 中的所有字段,而不会出现任何问题,使用类似于以下的代码:
<%= @ship_data.id %>
我现在正尝试在视图中显示来自航行 table 的一条信息。
如果我这样做:
<%= @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 relation。这就像一组项目。您可以获得每个项目的 ID 数组:
<%= @ship_data.voyages.pluck(:id) %>
或者遍历数组:
<% @ship_data.voyages.each do |voyage| %>
<%= voyage.id %>
<% end %>
或仅获得first
航程:
<%= @ship_data.voyages.first.id %>