2013-03-04 68 views
0

嘗試渲染控制器操作時出現問題。以下的文件,我應該能夠使用:渲染用戶缺失模板/新

render 'user/new' or 
render template: 'user/new' or 
render :action => "new", :controller => "users" 

儘管我得到一個模板缺少異常,我不舒服,爲什麼。使用作品的表單,但複製完全相同的表單很愚蠢。

我很尷尬,所以我很舒服地想念一些東西,但我不明白。 任何提示?

編輯:我從GroupsController調用,我想呈現新的用戶窗體。只用腳手架模型進行了測試,並得到相同的錯誤。

ActionView::Template::Error (
Missing partial users/new with {:locale=>[:de], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in: 
* "/Users/rob/Development/projects/test/app/views" 
* "/Users/rob/.rvm/gems/ruby-1.9.3-p362/gems/oembed_provider_engine-0.2.0/app/views" 
* "/Users/rob/.rvm/gems/ruby-1.9.3-p362/gems/devise-2.2.3/app/views" 
): 
+0

你可以發佈你得到的錯誤嗎?還有你在哪裏使用渲染?它在用戶控制器中嗎? – PericlesTheo 2013-03-04 18:09:18

+0

請參閱下面的編輯。並提前致謝 – Rob 2013-03-04 21:24:48

+0

您是否確保在routes.rb文件中指定所需的控制器路由? – 2013-03-05 02:05:10

回答

0

部分模板的文件名總是以下劃線開頭。所以你需要在你的「用戶」視圖中有一個「_new.html.erb」文件來渲染。

如果我沒有弄錯,默認腳手架會爲每個模型創建一個「_form.html.erb」,以在新的和編輯動作中呈現它們。你可以渲染它而不是整個「新」視圖。

+0

關於文檔,應該可以呈現控制器操作,默認情況下應該使用現有的模板。當然,我不想繞過已有的行動。 如果使用部分,這是正確的,必要的,你在開始時用下劃線來命名它... – Rob 2013-03-07 12:05:30