私は(単純化するために)アルファとベータの多対多の関係を持っており、そのようにループしています:
<% alpha.betas.each do |beta| %>
<p>Name: <%= beta.name %></p>
<% end %>
alpha_beta
それぞれの結合テーブル行の ID を取得する良い方法は何ですか? 基本的に、1 つのベータ版をアルファ版で複数回使用できます。ユーザーはアルファ版の各ベータ版に対して情報を送信するため、情報はベータ版だけでなく、ベータ版のインスタンスにも固有のものである必要があります。
<% 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