私は、statement
とidentity
でうまく動作するチェックボックスを使ってhas_manyアソシエーションを持っています。has_many_throughアソシエーション複数のアソシエーションを追加する
私が直面している問題は、PhaseテーブルとIdentityテーブルをどのように関連づけても、それを依然としてステートメントフォームにリンクすることです。したがって、それぞれstatement
には多くのidentities
があり、それらのそれぞれに対してidentities
はラジオボタンタグを使用してphase
を関連付けたいと思っています。その後、私の形で
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, :through => :indicators
accepts_nested_attributes_for :phases
end
class Phase < ApplicationRecord
has_many :indicators
has_many :identities, :through => :indicators
accepts_nested_attributes_for :identities
end
:
私が理解から<%= form_with(model: statement, local: true) do |form| %>
<table class="table table-bordered">
<% hidden_field_tag "statement[identity_ids][]", nil %>
<% Identity.all.each do |b| %>
<tr>
<td><%= check_box_tag "statement[identity_ids][]", b.id, @statement.identity_ids.include?(b.id) %></td>
<td><%= b.description %></td>
<td>CODE FOR PHASES</td>
</tr>
<% end %>
</table>
<div class="actions">
<%= form.submit %>
</div>
<% end %>
何がうまくいかないのですか?エラーメッセージや、何が動作していないかについての詳細情報がありますか? –
エラーメッセージは表示されず、データベースに保存されません。 – DollarChills
エラーメッセージが表示されます。あなたはそれを表示していないので、ブレークポイントを設定し、 '@ yourobject.errors.full_messages'を実行して' rails console'にエラーメッセージを表示してください。 –