2017-11-27 7 views
0

私は関連付けを使ってループしています。私は治療と表示によってグループ分けして行こうとしています。Rails関連のループは、同じ基本キーを行内に表示します

各ループには、治療ごとに3つのレコードがあります。以下のコードは私が作成しているものです。

enter image description here

VIEW

<table> 
    <tr> 
     <td>Treatment</td> 
     <td>Date</td> 
     <td>Count</td> 
    </tr> 
    <% @trial.establishmentMethods.order(:treatment_selection_id).each do |data| %> 
    <tr> 
     <td><%= data.treatmentSelection.treatment.name %></td> This is reference by treatment_selection_id. 
     <td><%= data.date %></td> 
     <td><%= data.count %></td> 
    </tr> 
    <% end %> 
</table> 

これは私が作ることを望んだものです。治療法を一度表示してから、関連するループを同じ行にループします(treatment_selection_id's)。ここで

enter image description here

私のモデルや団体です。

class Trial < ApplicationRecord 
    has_many :assessments, primary_key: 'trial_id' 
    has_many :establishmentMethods, through: :assessments 
end 

class EstablishmentMethod < ApplicationRecord 
    belongs_to :treatmentSelection, primary_key: 'treatment_selection_id', foreign_key: 'treatment_selection_id' 
    has_many :treatments, through: :treatmentSelection 
end 

class TreatmentSelection < ApplicationRecord 
    belongs_to :treatment, primary_key: 'treatment_id' 
end 

答えて

0

TreatmentSelection has_many establishmentMethodsと思われるので、それをTreatmentSelectionモデルに追加する必要があります。それはRubyでsnake_caseを使用することが慣例だが、ところで

<% treatment_selections.each do |treatment_selection| %> 
    <tr> 
     <td><%= treatment_selection.treatment.name %></td> 
     <% treatment_selection.establishmentMethods.each do |em| %> 
      <td><%= em.date %></td> 
      <td><%= em.count %></td> 
     <% end %> 
    </tr> 
<% end %> 

、それが簡単に関連付けを使用して行います:次に、あなたのような何かを行うことができます。

+0

悲しいことに、次のエラーが発生します。 #<#:0x007fa74e3dd6a8> – DollarChills

+0

の未定義のローカル変数またはメソッド 'treatment_selections 'を残して申し訳ありません。あなたは '@ trial_selections'を' @ trial'のようにあなたのビューに入れる必要があります –

関連する問題