我的轨道5应用程序中有三个模型...我想要做的是能够在人的“显示”视图上创建一个注释,然后注释应该自动链接到该人和任何其他人我选择将备注附加到。
这是我到达的地方
请注意
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
在我的“人物”控制器的“show”部分,我有以下内容:
def show
@notep = Note.new()
@person.notes << @notep
end
每次打开页面时,都会为我的人事记录创建一个新笔记的连接(显然我只希望连接发生在我创建的笔记上。)
我在一个模态中将其渲染为我的“show”视图中的部分(有一个“结束”和一个提交按钮,但是它位于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 %>
你可能会说我是一个全新的,但我很感激我能得到任何帮助。
谢谢,
利亚
答案 0 :(得分:0)
如果我正确理解了这一点,你需要一个单独的Notes控制器并创建动作来处理音符创建。然后在People show视图中,您可以添加提交到NotesController #create的表单和输入字段。