5

好的,問題是試圖從控制器呈現表單以創建新條目..對於那個即時調用腳手架創建的默認表單 我'米試圖使它像這樣:從Ruby on Rails 3中的另一個控制器渲染表單

<%= render :partial => 'contactos/form' %> 

和IM收到以下錯誤

undefined method 'model_name' for NilClass:Class

有沒有從視圖本身只是渲染什麼辦法?

如果沒有...我應該向控制器添加哪些參數?

現在我只是有下面的代碼:

Class DisplayController < ApplicationController 
    def index 
     @contactos = Contacto.all 
    end 
end 

*這是視圖控制器,而不是一個與我的支架上創建更新和編輯功能

好吧,我已經做了非常大的研究,但沒有答案可以解決我的問題。 (這是我第一次提出問題,對於我可能犯的任何錯誤提前抱歉)

回答

6

問題是您的聯繫人表單中使用的變量不存在。您在索引操作中創建的唯一變量是所有聯繫人的數組,但表單需要單個聯繫人的單個實例。

因爲你是一個新的聯繫人,你必須做這樣的事情在操作指數:

@contact = Contact.new 
2

一般情況下,當我們在視圖中使用實例變量但它是零時會發生這種情況。

對於例如:在新用戶創建形式,我們使用,

form_for @user do |f| 
.... 
end 

和@user不是在控制器動作初始化,從那裏我們呈現的形式,這可能發生。

0

,你需要確保你呈現前形式部分所使用的參數是定義部分。

而且你不需要的部分,你可以把:

<%= render 'contactos/form' %> 
相關問題