私のレール5つのアプリケーションに3つのモデルがあります...私がしたいのは、人の "ショー"ビューでノートを作成できることですノートは自動的に、その人とノートを添付するために選択した他の人にリンクされます。Rails has_many:親の "show"ビューでの関連付けと関連モデルの作成
私は
注
class Note < ApplicationRecord
has_many :person_notes
has_many :people, through: :person_notes
accepts_nested_attributes_for :person_notes
end
者注(テーブルに参加)の私の "ショー" セクションで
class PersonNote < ApplicationRecord
belongs_to :person
belongs_to :note
end
人
class Person < ApplicationRecord
has_many :person_notes
has_many :notes, through: :person_notes
accepts_nested_attributes_for :person_notes
accepts_nested_attributes_for :notes
end
に立ち上がったのはここです私が持っている私の "人"のコントローラーe。次:
def show
@notep = Note.new()
@person.notes << @notep
end
これは私の個人レコードに新しいノートの私がページを開くたびに参加作成された(明らかに私が唯一の希望、私が作成したノートに起こることを参加してください。)
私は私の "ショー"ビューの一部としてモーダルでこれをレンダリングしました( "終了"ボタンとサブミットボタンがありますが、3つのdivの間にあり、問題の原因ではないことを知っています。それらを含める:
<%= simple_form_for(@notep, remote: true) do |f| %>
<%= f.error_notification %>
<%= f.input :subject %>
<%= f.input :note %>
<%= f.input :date, html5: true %>
<div class="input-field">
<%= f.check_box :isalert, :id => "alert" %>
<%= f.label :isalert, :for => "alert" %>
</div>
<div class="input-field">
<%= f.check_box :archived, :id => "archived" %>
<%= f.label :archived, :for => "archived" %>
</div>
<div class="input-field">
<%= f.check_box :deleted, :id => "deleted" %>
<%= f.label :deleted, :for => "deleted" %>
</div>
<%= f.input :datecreated, html5: true %>
<%= f.input :user_id %>
<%= f.simple_fields_for :person_notes do |builder| %>
<%= builder.association :person, label_method: :lstfstfullname %>
<%= builder.input :deleted %>
<%= builder.input :datecreated, html5: true %>
<%= builder.input :user_id %>
<% end %>
私はおそらく私はnewbだと言うことができますが、私は得ることができるすべてのおかげです。
おかげで、
リア
@person変数の人物レコードを正しく取得していることを確認してください。あなたは直面している特定のエラーを含めることができますか? –
あなたの助けてくれてありがとうダニエル、私はエラーを取得していない...問題は 1.私はこれを正しく行う方法を知りません。 2.人物のレコードを開くたびに、メモレコード(およびその人への関連付け)が自動的に作成されます。 – LeahPleurodon