我有Alphas和Betas的多对多关系(为了简化),我正在循环:
<% alpha.betas.each do |beta| %>
<p>Name: <%= beta.name %></p>
<% end %>
获取每个alpha_beta
联接表行的ID的好方法是什么?基本上,一个beta可以在alpha中多次使用。用户将针对每个alpha版本提交信息,因此信息不仅要针对测试版,还要针对测试版的实例。
<% alpha.betas.each do |beta| %>
<p>Name: <%= beta.name %></p>
<p>ID: <!-- alpha_beta.id --></p>
<% end %>
我已经根据Ruby on Rails文档设置了连接表和模型,并且它运行良好。只是试图想出一个干净的方法来做到这一点。
我还为我的连接表实例化了一个alpha_beta
模型,所以很容易从控制器中获取id ...在我看来的循环中是另一回事。
型号:
class Alpha_beta < ActiveRecord::Base
belongs_to :alpha
belongs_to :beta
end
class Beta < ActiveRecord::Base
has_many :alpha_betas
has_many :alphas, :through => :alpha_betas
end
class Alpha < ActiveRecord::Base
has_many :alpha_betas
has_many :betas, :through => :alpha_betas
end
答案 0 :(得分:1)
为什么不呢?
<% Alpha_Beta.all.each do |ab| %>
<p>Name: <%= ab.beta.name %></p>
<p>ID: <%= ab.id %></p>
<% end %>
循环alpha_betas
,然后您拥有所有属性。