在Rails 3中,如何查找由render 'foo'
呈現的部分文件名?如何找到Rails部分的文件名?
0
A
回答
3
要明確一點,如果您從控制器中調用render
,並從視圖中的標記中調用render
,則會得到兩個不同的結果。
在控制器bar
調用render 'foo'
將導致呈現文件<project>/app/views/bar/foo.html.erb
。
在視圖例如<project>/app/views/bar/show.html.erb
致電<% render 'foo' %>
將導致將局部<project>/app/views/bar/_foo.html.erb
包括到show.html.erb
視圖中。部分來自與視圖相同的目錄。
爲了使事情更復雜一點,如果您將文件夾名稱放入渲染中,例如render 'shared/foo'
這是相對於<project>/app/views
。
所以:
Controller: render 'foo' = <project>/app/views/<controller name>/foo.html.erb
render 'shared/foo' = <project>/app/views/shared/foo.html.erb
View: <% render 'foo' %> = _foo.html.erb in directory of view
<% render 'shared/foo' %> = <project>/app/views/shared/_foo.html.erb
附:如果您在render
命令來指定不同的:format
,那麼html.erb
需要相應地改變(例如js.erb
,js.coffee.erb
,等等等等)。
http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials
相關問題
- 1. 如何通過名稱的一部分找到該文件
- 2. 如何查找文件名的特定部分/擴展名?
- 3. 代碼找到部分文件名的文件的存在
- 4. 如何查找其部分名稱的文件?
- 5. PHP找到存儲的文件的一部分名稱
- 6. 批處理:找到所有排除部分名稱的文件
- 7. OSX找到部分文件名的命令
- 8. PHP。如何刪除文件名部分?
- 9. 如何提取部分文件名
- 10. 查找vim中的文件:如何與Explore **進行部分文件名匹配/ *
- 11. 如何找到文件的擴展名
- 12. 如何找到文件名的長度?
- 13. 如何找到apk文件的簽名?
- 14. SCSS如何找到部分?
- 15. 查找共享文件名部分的文件
- 16. 從python中的部分文件名中查找文件
- 17. 如何找到文件路徑字符串的一部分?
- 18. 如何在路徑的給定部分下找到文件夾?
- 19. 如何導入文件名的一部分到一個字段
- 20. 如何訪問僅包含部分文件名的文件?
- 21. 輸出來查找文件與文件名部分
- 22. PHP查找文件後綴INCLUDES部分文件名
- 23. 如何找到位置路徑名的第三部分?
- 24. NSFetchedResultsController給出部分名稱找到該部分的索引
- 25. 如何使用Python分隔文件名的數字部分?
- 26. 如何找到缺少的Web部分?
- 27. 如何找到java行的一部分?
- 28. 如何重命名保留原文件名的可變部分的文件
- 29. 刪除部分文件名
- 30. PE文件部分名稱
取決於它從哪裏被調用。最有可能位於:/app/views/foos/show.html.erb(或.haml,.slim)。 –
我認爲@Zenph的意思是'/ app/views/{current_controller's_folder}/_ foo.html.erb'。 @ Zenph的答案確實適用於'render'的調用在你的控制器動作中。 –
看來上面是正確和錯誤的。即使在控制器(不是application_controller)中,渲染仍然相對於控制器的視圖。 –