내 레일 5 응용 프로그램에서 세 가지 모델을 가지고 ... 내가 뭘하고 싶은 사람의 "쇼"보기에 메모를 만들 수 있습니다 , 메모는 그 사람과 내가 메모를 첨부하도록 선택한 다른 사람에게 자동으로 연결됩니다. 나는 내 "쇼"섹션에서레일 has_many : 통해 부모 "쇼"보기에 대한 연관 및 관련 모델
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
을 (테이블을 가입)
주
class Note < ApplicationRecord
has_many :person_notes
has_many :people, through: :person_notes
accepts_nested_attributes_for :person_notes
end
사람 주에 일어나서 여기 어디에
입니다 내 "사람들"컨트롤러 나는 th 전자 다음
def show
@notep = Note.new()
@person.notes << @notep
end
이것은 내 개인 기록에 새 메모의 내가 페이지를 열 때마다 가입 만들고있다 (분명히 내가 단지 원하는 내가 만든 노트에 일어날 가입 할 수 있습니다.)
나는 이것을 "show"뷰의 부분적인 모달로 렌더링했다. ("end"와 submit 버튼이 있지만 3 divs 사이에 있고 그것들이 문제의 원인이 아니라는 것을 나는 안다. 그래서 나는 그렇지 않았다. 포함 해주십시오. :
<%= 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 변수의 사람 레코드를 제대로 가져 오는지 확인하십시오. 직면 한 특정 오류를 포함시킬 수 있습니까? –
도움 주셔서 감사합니다. Daniel, 오류가 없습니다. 문제는 입니다. 1. 올바르게 수행하는 법을 모르겠습니다. 2. 사람 기록을 열 때마다 메모 기록 (및 그 사람과의 연관성)이 자동으로 생성됩니다 ... – LeahPleurodon