В левой части моей страницы есть список документов, которые пользователь уже создал. И форма для создания/редактирования документов. После представления способа создания страницы.ROR: использование partials
| list of documents| Edit/Create documents|
| | |
| | |
Я пытаюсь сделать следующее
1) Показать форму для создания нового документа, когда страница первого loads.And на кнопку мыши перезагрузить страницу с обновленным списком и документа вновь созданного.
2) Когда пользователь нажимает на один из существующих документов, я хочу обновить форму, чтобы отобразить детали документа.
Я думал, что частичные действия будут способом сделать это.
У меня есть часть (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
Благодаря
Просьба указать код вашего контроллера. – sscirrus
Я добавил код для контроллера документов. – jsp