1

我有 Alphas 和 Betas 的多对多关系(为了简化),我这样循环:

<% alpha.betas.each do |beta| %>
  <p>Name: <%= beta.name %></p>
<% end %>

alpha_beta获取每个连接表行的 id 的好方法是什么?基本上,一个 Beta 版可以在 Alpha 版中多次使用。用户将针对 alpha 的每个 beta 提交信息,因此信息不仅需要特定于 beta,还需要特定于 beta 的实例。

<% 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
4

1 回答 1

1

为什么不是这个?

<% Alpha_Beta.all.each do |ab| %>
  <p>Name: <%= ab.beta.name %></p>
  <p>ID: <%= ab.id %></p>
<% end %>

循环alpha_betas,然后你就拥有了所有的属性。

于 2013-07-30T22:37:29.647 回答