مشكلة مع has_many ذاتية المرجع: من خلال الجمعيات في القضبان
-
21-08-2019 - |
سؤال
وكنت أقرأ عن has_many ذاتية المرجع: من خلال المواقف بيانات اليوم، لأنني أحاول أن إنشاء تطبيق القضبان التي تستخدمها. لقد وجدت هذا سبيل المثال الوضع على شبكة الإنترنت، ولدي سؤال حول هذا الموضوع. اسمحوا لي أن الرد على هذا المثال رمز من بلوق هذا الرجل:
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، ربما؟
المحلول
هل لدي لإنشاء جدول منفصل لCapturePercent، ربما؟
اقتباس فقرة>وليس على الإطلاق، لا يبدو أن يكون أي شيء معقد حول هذا:
<ul>
<% @animal.pursuits.each do |pursuit| %>
<li><%= link_to "#{pursuit.capture_percent}%", pursuit.prey %></li>
<% end %>
</ul>