マイページの左側に、ユーザーが作成したドキュメントのリストがあります。ドキュメントを作成/編集するためのフォーム。ページがどのように設計されているかの表現に従います。
| list of documents| Edit/Create documents|
| | |
| | |
私は次のことをしようとしています
1) ページが最初にロードされたときに新しいドキュメントを作成するためのフォームを表示します。ボタンをクリックすると、更新されたリストと新しく作成されたドキュメントでページがリロードされます。
2) ユーザーが既存のドキュメントの 1 つをクリックすると、フォームを更新してドキュメントの詳細を表示したいと考えています。
私はパーシャルがこれを行う方法になると考えていました。
(1)の一部ができました。現在、既存のドキュメントの詳細を読み込もうとしています。
このエラーは、既存のドキュメントの詳細を表示しようとすると表示されます。
documents/_form.html.erb where line #1 raised:
undefined local variable or method `document' for #<#<Class:0x007ffe96ff30b0>:0x007ffe96f0e118>
Extracted source (around line #1):
1: <%= form_for document do |f| %>
2: <table>
3: <tr>
4: <div class="field">
Trace of template inclusion: app/views/documents/edit.html.erb
EDIT.html.erb
<h1>Editing document</h1>
<%= render 'form' %>
Index.html.erb
<div id="docList">
<%= search_field(:user, :document) %>
<% @documents.each do |document| %>
<li><%= link_to document.name, edit_document_path(document.id) %></li>
<% end %>
<br />
<%= link_to 'New Document', new_document_path %>
</div>
<div id="docEdit">
<%= render :partial => "form", :locals => { :document => Document.new } %>
</div>
_form.html.erb
<%= form_for document do |f| %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :notes %><br />
<%= f.text_area :notes %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
UPDATE **documents_controller.rb**
#GET /documents/new
# GET /documents/new.json
def new
@document = Document.new
@document.user = current_user
respond_to do |format|
format.html # new.html.erb
format.json { render json: @document }
end
end
# GET /documents/1/edit
def edit
@document = Document.find(params[:id])
end
ありがとう