的render @events輸出在一個視圖中,我使用_event.html.erb
來創建輸出。我想在另一個區域(主頁)上使用render @events
,但我希望它可以稍微不同地呈現頁面。我怎麼做?如何更改基於頁面
如何更改基於頁面
回答
我至少看到這一點:
- 使用CSS,你可以用它來定位元素,隱藏別人,顏色等
- 呈現不同的諧音在每個模板
對於第一種選擇(我會用哈姆,我會簡單):
# events.html.haml
.index= render @events
# homepage.html.haml
.events= render @events
# your css
.index { color: red; }
.events { color: blue; }
更簡單些,我相信是的@iain建議之一:
# action template
= render partial: '/events/event1', collection: @events
# _event1.html.haml
.name #{event1.name}
這樣你就可以乾淨使盡可能多的不同的諧音,只要你喜歡,對渲染調用有點重複。我同意,如果可能的話,你應該避免在視圖中聲明。
我強烈建議參考guides,因爲它們非常清晰易讀。這裏
哈希是Ruby 1.9的風格,如果你使用Ruby 1.8的東西,如:collection => @events
希望這會有所幫助,對不起我的答案激烈編輯替換類似collection: @events
。
根據他們的不同,可以使用演示者,如在latest Railscast中演示的那樣。
如果差異是結構性的,只需製作兩個部分。您的觀點中的少量重複是完全可以接受的,可能更適合將邏輯放入您的觀點。嘗試抵制在您的觀點中創建if語句的衝動。
,最新的截屏非常有趣! - 兩個有效的替代品 – ecoologic
@iain如果我做了兩個partials,當我調用渲染事件時,rails如何知道使用哪一個? –
- 1. 基於頁面方向更改DataTemplate
- 2. 基於Parsed XML改變頁面 - Android
- 3. 如何使用基於選擇輸入的javascript更改頁面的內容?
- 4. 如何基於當前的URL更改視圖頁面的內容
- 5. ModelValidatorProviders基於頁面
- 6. 更改基於頁面的徽標(WordPress,PHP)
- 7. 基於查詢字符串更改頁面模板
- 8. 基於Wordpress頁面模板更改導航
- 9. 創建基於地理位置更改內容的Wordpress頁面
- 10. 基於URL參數動態更改頁面內容?
- 11. 基於用戶時區在頁面上更改時間
- 12. 基於屏幕大小更改爲AMP頁面
- 13. 基於父母/根頁面更改Wordpress single.php
- 14. 在基於頁面的應用程序中更改動畫UIPageViewController
- 15. 如何讓JavaScript修改基於頁面名稱的CSS鏈接?
- 16. 如何使用jquery ajax更新基於url的頁面內容?
- 17. 如何基於搜索查詢更改着陸頁
- 18. 如何更改基於操作系統的網頁內容
- 19. 如何更改線路,以基於子
- 20. 如何更改基於日期
- 21. 如何更改基於分工
- 22. R:如何更改基於規範
- 23. 如何更改基於cookie的鏈接?
- 24. 在Refinery CMS中,如何將頁面部分更改應用於現有頁面?
- 25. 如何挖掘基於主頁的ASP.NET頁面的「上次修改日期」?
- 26. 如何更改基於狀態更改的redux-form shouldValidate選項
- 27. 如何動態更改主頁面
- 28. 如何更改Facebook頁面的名稱?
- 29. Magento,如何更改PayPal/Express/Review頁面
- 30. 如何更改Wordpress頁面的URL?
我對軌道非常陌生,所以試圖弄清楚如何解釋我想做什麼。 如果我在兩個地方渲染@events,我如何讓它們調用不同的部分?我希望他們有點不同。在主頁上,我不希望渲染事件顯示某些信息,但在事件列表頁面上,我希望顯示所有信息。 –
[只是爲了防止你不知道哈姆](http://haml-lang.com),'<%= foo %>'在erb中完全轉換爲'= foo'在haml – ecoologic