我無法找到使用其他視圖的視圖的方法。在軌道上重複使用視圖
我想我可以用這個例子更好地解釋它:我有兩個控制器,IndexController
和UserController
。用戶控制器有一個名爲login
的操作,其視圖呈現登錄表單並在發生表單發佈時驗證用戶。
在IndexController
中,存在一個名爲home
的操作,該操作呈現主頁視圖。在這個視圖中,我想渲染loginform
,但我想重新使用用戶/登錄視圖。
在幾乎所有與我一起工作的框架中,都有一種調用另一個控制器動作的方法,以重新使用和隔離邏輯。
我發現,在Rails中,有一個輔助render
,我可以通過以下方式撥打:
render 'user/login'
或
render :template => 'user/login'
在這兩種情況下,我只得到「錯誤路由索引/登錄不存在「或」控制器索引必須登錄操作「。此外,我將登錄視圖文件名設置爲login
或_login
。 (我讀的是用於部分視圖。)
使用partials並將它們包括在您的標準視圖中 – apneadiving
默認的部分模板dir是'RAILS_ROOT/app/views/shared'。 – halfelf