gpt4 book ai didi

ruby-on-rails - 自引用问题 has_many :through associations in Rails

转载 作者:数据小太阳 更新时间:2023-10-29 06:46:44 25 4
gpt4 key购买 nike

我今天正在阅读有关自引用 has_many :through 数据情况的文章,因为我正在尝试构建一个使用它们的 Rails 应用程序。我找到了这个 example situation在互联网上,我对此有疑问。让我从这个人的博客中发布这个示例代码:

create_table :animals do |t|
t.string :species
end
create_table :hunts do |t|
t.integer :predator_id
t.integer :prey_id
t.integer :capture_percent
end

class Animal < ActiveRecord::Base
has_many :pursuits, :foreign_key => 'predator_id',
:class_name => 'Hunt',
:dependent => :destroy
has_many :preys, :through => :pursuits
has_many :escapes, :foreign_key => 'prey_id',
:class_name => 'Hunt',
:dependent => :destroy
has_many :predators, :through => :escapes
end
class Hunt < ActiveRecord::Base
belongs_to :predator, :class_name => "Animal"
belongs_to :prey, :class_name => "Animal"
end

假设我正在构建一个网页,其中列出了其数据库中的第一只动物。此标题下方是百分比列表 (capture_percent)。每个百分比都指的是该页面的动物猎杀的动物,但它不会告诉您动物的名称,只会告诉您百分比。单击任何给定的百分比将带您到相应动物的页面。

我知道这是一个很难解决的问题,但我正在努力弄清楚。也许我必须为 CapturePercent 创建一个单独的表?

最佳答案

Would I have to create a separate table for CapturePercent, maybe?

一点也不,这似乎没有什么复杂的:

<ul>
<% @animal.pursuits.each do |pursuit| %>
<li><%= link_to "#{pursuit.capture_percent}%", pursuit.prey %></li>
<% end %>
</ul>

关于ruby-on-rails - 自引用问题 has_many :through associations in Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/364934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com