在Rails中,爲什麼我會使用partials?解釋它就好像我5歲。我根本不明白爲什麼有人會使用它們。在Rails中使用partials有什麼用途?
回答
First thing
請在這裏閱讀Official Rails guide for partials。
Now some benefits
它使你的觀點清潔化,系統化,
DRY Philosphy
。部分進入圖片最重要的是當您想要在各種視圖中重用部分 組件。通常開發人員創建一種
shared/common folder
其中部分坐在和使用 各種視圖。它也很容易使用Rails’
「if」 or 「unless」
聲明有條件負荷的諧音,是有益的,其中一個模板需要
iterate over a collection
並呈現每個元素的子模板。您的不同偏色還可以有
different layouts
。部分API here列出了所有可以讓您理解它的好處的各種方法。
分離你的看法變成諧音也可以幫助在
proper fragment caching
(Fragment Caching)某些部分的你的網頁。更好的管理。如果你進入
Metaprogramming
那麼你也可以通過創建動態助手來在你的偏好中添加該味道。作爲回答#1 here
他們是避免重複自己的方便方法。
例如,您可能有幾個顯示菜單的頁面。您不必在每個視圖中重複菜單的標記,而只需將其放在每個頁面上的一個局部和渲染中。
還有其他一些情況下,通過將複雜視圖分解爲多個部分來使複雜視圖更易於管理。
您通常使用的諧音重用代碼:假設你有職位名單和每個崗位有一個小的預覽圖像用,標題和摘錄。在你的博客首頁你有一個帖子列表,當你按年份對帖子進行分組時,你會顯示一個帖子列表,當你搜索一個詞時你必須顯示一個帖子列表。
您可以將邏輯移至部分並隨時隨地參考該邏輯,而不是重複邏輯以顯示帖子預覽。你可以保持你的代碼乾爽,並減少代碼。此外,如果您意識到要添加新內容,則只需更改部分內容,而不用去尋找在應用程序中顯示後期預覽的模板。
那麼,爲了完全相同的原因,你想使用方法,這是重用代碼。假設您的應用程序中有一個狀態區域,您希望顯示在不同的地方。您只需將該狀態區域的視圖代碼放入局部區域,然後在相應的頁面上使用該局部區域即可。
因爲partials也可以帶參數,所以它們可以很容易地重用視圖代碼。此外,您可以爲您的應用程序的某些模型製作部分。這樣,您可以撥打render @model
,通過命名約定選取正確的部分。
部分允許您將佈局代碼分離到文件中,該文件將在整個佈局和/或多個其他佈局中重用。
例如,您可能有一個登錄表單,您希望在網站的10個不同頁面上顯示。您可以在部分文檔中編寫一次,而不是在10次編寫表單代碼時,只需在佈局中的適當位置包含該部分。如有必要,您可以將本地實例變量傳遞給partial以使其可用。
這樣,如果您需要更改表單,則只需更改部分代碼,而不是在所有佈局中更改代碼10次。
這裏是諧音指南:在獲取數據/變量http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials
而更多討論到的諧音:Pass a variable into a partial, rails 3?
- 1. 在使用Devise時,在spree或rails中使用guest_token有什麼用途
- 2. HyerLinkField中使用HeaderText有什麼用途
- 3. GrayLog2中使用MongoDB有什麼用途?
- 4. jquery中使用$ .data()有什麼用途
- 5. 在rails中使用partials和渲染4
- 6. Rails schema.rb中sqlite_sp_functions的用途是什麼?
- 7. 使用jQuery切換rails partials
- 8. Rails重用:爲什麼控制器不能在partials內重用?
- 9. Path =在XAML中有什麼用途?
- 10. 在oracle中有什麼用途?
- 11. makeEmptyFunction在fbjs中有什麼用途?
- 12. auto有什麼用途?
- 13. ons.ready()有什麼用途?
- 14. Joomla有什麼用途?
- 15. iPhone:Airplay SDK有什麼用途?
- 16. Log4j API有什麼用途?
- 17. Rails 2 - partials:@comment = Comment.new是什麼意思?
- 18. Rails partials:我做錯了什麼?
- 19. 在broadleafCommerce中使用@AdminPresentation有什麼用途
- 20. 在Hibernate中使用bag標籤有什麼用途?
- 21. 在Windows Phone中使用網站偏好有什麼用途?
- 22. 在地圖區域中使用alt有什麼用途
- 23. 在以下語法中使用方括號「[]」有什麼用途
- 24. 在XML中使用PCDATA有什麼用途?
- 25. 在瓶部署中使用Web服務器有什麼用途?
- 26. 在IValueConverter接口中使用ConvertBack方法有什麼用途?
- 27. 在java中使用靜態同步方法有什麼用途?
- 28. 在python線程中使用join()有什麼用途
- 29. jquery ui有什麼用途?爲什麼不使用jquery呢?
- 30. JavaScript中的x ++有什麼用途?
它遵循DRY理念。 :) – lurker