自己参照にhas_manyを通報します:Railsの中に団体を通じて
-
21-08-2019 - |
質問
私は自己参照にhas_manyについて読んでいた:データの状況によって、今日、私はそれらを使用して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
のは、私はそのデータベースの最初の動物を一覧表示したWebページを構築していましょう。この見出しの下に割合(capture_percent)のリストです。それぞれの割合は、このページの動物の狩りという動物を参照しているが、それは、あなただけの割合を動物の名前を教えてくれません。任意の割合をクリックすると、対応する動物のページに移動します。
これは、私が知っている、周りにあなたの頭をラップすることが難しい問題のようなものですが、私はそれを理解しようとしています。私は多分、CapturePercent用に別のテーブルを作成する必要がありますか?
解決
私は多分、CapturePercentのための別のテーブルを作成する必要がありますか?
全然、この程度の複雑なものがあるようには思えません
<ul>
<% @animal.pursuits.each do |pursuit| %>
<li><%= link_to "#{pursuit.capture_percent}%", pursuit.prey %></li>
<% end %>
</ul>
所属していません StackOverflow