在之前的例子中,我們發現在new和edit兩個view中,都使用到了form_with這個Rails內置的helper,我們可以把這部分內容提取出來,作爲共通的部分供所有需要使用它的view使用。新建一個_form.html.erb的文件,將兩個文件中的form_with裝進來。
<%= form_with model: @article , local: true do |form| %>
<% if @article .errors.any? %>
< div id = "error_explanation" >
< h2 >
<%= pluralize( @article .errors.count, "error" ) %> prohibited
this article from being saved:
</ h2 >
< ul >
<% @article .errors.full_messages. each do |msg| %>
< li > <%= msg %> </ li >
<% end %>
</ ul >
</ div >
<% end %>
< p >
<%= form.label :title %> < br >
<%= form.text_field :title %>
</ p >
< p >
<%= form.label :text %> < br >
<%= form.text_area :text %>
</ p >
< p >
<%= form.submit %>
</ p >
<% end %>
|
然後我們把new.html.erb和edit.html.erb中的這個共通的部分用<%=
render
'form'
%>來代替。以後我們在實際項目開發的時候就可以這樣操作了,簡單明瞭,變更管理也非常方便,不易出錯。