1

私は(単純化するために)アルファとベータの多対多の関係を持っており、そのようにループしています:

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

1 に答える 1