私は以下のhas_many関連を持っています。レールにhas_manyが表示されているだけでテーブル名が表示されます
class Indicator < ApplicationRecord
belongs_to :statement, required: false
belongs_to :identity, required: false
belongs_to :phase, required: false
end
class Statement < ApplicationRecord
belongs_to :student, required: false
has_many :indicators
has_many :identities, through: :indicators
accepts_nested_attributes_for :identities
end
class Identity < ApplicationRecord
has_many :indicators
has_many :statements, through: :indicators
accepts_nested_attributes_for :statements
has_many :phases
end
class Phase < ApplicationRecord
has_many :indicators
belongs_to :identity, required: false
end
私はshow.html.erbというステートメントで結果を呼び出すことを検討しています。下のコードの<%= l.phases.name %>
部分には、名前の値ではなくテーブル名である 'Phase'が表示されます。
<table>
<th>Description</th>
<th>Phase</th>
<% @statement.identities.each do |l| %>
<tr>
<td><%= l.description %></td>
<td><%= l.phases.name %></td>
</tr>
<% end %>
</table>
これは、インジケータ表が設定されているか:それはあなたがループして各フェーズの名前が表示される必要があり、多くの段階がありますので
| id | statement_id | identity_id | phase_id |
| 1 | 2 | 1 | 3 |
| 2 | 2 | 2 | 2 |
| 3 | 3 | 1 | 1 |
| 4 | 3 | 2 | 1 |
ありがとう@shannon。私はそれを試みましたが、関連するすべてのidentity_idsをリストしているようです。私は私の団体が間違っているかもしれないと思う。上記の質問を更新して、インジケータテーブルの構造を示しました。 – DollarChills