Tôi đã đọc về has_many tự tham khảo: thông qua các tình huống dữ liệu ngày hôm nay, bởi vì tôi đang cố gắng xây dựng một ứng dụng Rails sử dụng chúng. Tôi đã tìm thấy số này example situation trên Internet và tôi có câu hỏi về nó. Hãy để tôi đăng mã ví dụ này từ blog của anh chàng này:Vấn đề với has_many tự tham chiếu: thông qua các liên kết trong Rails
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
Giả sử tôi đang tạo trang web liệt kê động vật đầu tiên trong cơ sở dữ liệu của nó. Bên dưới nhóm này là danh sách tỷ lệ phần trăm (capture_percent). Mỗi phần trăm đề cập đến một động vật mà động vật của trang này săn tìm, nhưng nó không cho bạn biết tên của động vật, chỉ là phần trăm. Nhấp vào bất kỳ phần trăm nhất định nào sẽ đưa bạn đến trang của động vật tương ứng.
Đây là một câu hỏi khó để quấn đầu, tôi biết, nhưng tôi đang cố gắng tìm ra. Tôi có phải tạo một bảng riêng cho CapturePercent không?