我陷入了基本的東西。渲染局部對象,導軌
我訂閱了控制器,並且我創建了表單部分,所以我可以從聯繫頁面進行新的訂閱。
我的部分看起來像這樣:
<%= form_for(@subscribe) do |f| %>
<% if @subscribe.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@subscribe.errors.count, "error") %> prohibited this subscribe from being saved:</h2>
<ul>
<% @subscribe.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :subject %><br />
<%= f.text_field :subject %>
</div>
<div class="field">
<%= f.label :message %><br />
<%= f.text_area :message %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
我使用這個代碼聯繫人/索引頁面內呈現部分:
<%= render 'subscribes/form', :locals => { :subscribe => @subscribe} %>
在此之後,我得到這樣的錯誤:
undefined method `model_name' for NilClass:Class
我試圖改變對象名稱,來自similair中的一些語法在阻塞溢出中消失。
像:
render "subscribes/form", collection: @subscribe
render :partial => 'subscribes/form', :object => Subscribe.new
我想我做的事情完全錯誤或一些達姆簡單的錯誤。我在做。 :)
傳遞局部參數是正確的,但在局部模板中沒有提及model_name屬性。錯誤是在別的地方嗎? – lucke84
@ lucke84我認爲它發生是因爲它不能識別partials對象。因爲當我刪除部分渲染,頁面加載就好,沒有錯誤。 – Edgars
嘗試不傳遞變量。 '<%= render'/ subscribes/form'%>' –