먼저보기에서 제품을 매개 변수로 보내는 편집 작업으로 연결해야합니다.이 작업은 일반적으로 색인 (app/views/products/index.html.erb)에 있습니다. 그것은 다음과 비슷한 모습이 될 것입니다
이제
def edit
end
하여 편집 :
<%= link_to 'Edit', edit_product_path(product) %>
그런 다음 당신이 당신의 제품 컨트롤러 (응용 프로그램/컨트롤러/products_controller.rb을) 편집 작업이 있는지 확인해야합니다.
<h1>Editing product</h1>
<%= render 'form' %>
<%= link_to 'Show', @product %> |
<%= link_to 'Back', product_path %>
그리고 당신이이 응용 프로그램/뷰/_form.html.erb에 위치해야 렌더링하는 마지막 형태 : html.erb (응용 프로그램/뷰/제품/edit.html.erb)이 같이 보일 것이다 해야한다. OOK이 같은 :
<%= form_for(@product) do |f| %>
<% if @product.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2>
<ul>
<% @product.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :price %><br>
<%= f.text_field :price %>
</div>
<div class="field">
<%= f.label :description %><br>
<%= f.text_field :descriptions %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
팁 : 레일 비계 명령을 생성 당신은 비계를 생성 할 때 자동으로 편집, 삭제, 쇼 모델에 대한 새로운 행동과 내가 위에서 언급 한 모든 뷰와 클래스를 만듭니다.
rails generate Scaffold Product name:string description:text price:decimal
희망 하시겠습니까?
단순히 'form_for' 또는'simple_form_for' 헬퍼를 사용하십시오. 다음은 'form_for' 선언과 몇 가지 예입니다. http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for –
@MarekLipka 저는 form_for를 사용하여 가이드를보고 있습니다. 당신은 행운이없이 가로 질러 보냈습니다. 폼을 복사하는 것은 매우 간단하지만 관련 컨트롤러에서 선언해야하는 것이 있습니까? 아직 운이 없다! 귀하의 의견을 보내 주셔서 감사합니다. – RubyMax