的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. 如何基於當前的URL更改視圖頁面的內容
- 2. 基於屏幕大小更改爲AMP頁面
- 3. 如何讓JavaScript修改基於頁面名稱的CSS鏈接?
- 4. 如何基於搜索查詢更改着陸頁
- 5. 如何更改基於操作系統的網頁內容
- 6. 如何更改基於cookie的鏈接?
- 7. 如何挖掘基於主頁的ASP.NET頁面的「上次修改日期」?
- 8. 如何更改jQuery Mobile中的頁面?
- 9. 如何更改nginx錯誤頁面?
- 10. 如何更改HTML頁面的語言?
- 11. 如何更改GridView頁面索引
- 12. 如何更改Magento購物車頁面
- 13. 如何使用JavaScript更改頁面URL
- 14. 如何更改外部頁面的類
- 15. 如何更改默認頁面
- 16. 如何動態更改頁面模板
- 17. 如何更改Facebook頁面的名稱?
- 18. 更改pageDataSource頁面
- 19. 如何防止頁面刷新頁面在Asp.Net Gridview中更改
- 20. 如何更改頁面而不刷新整個頁面?
- 21. 如何在登錄頁面使用dropdownbox更改頁面文化?
- 22. 如何在頁面上更改頁面後刷新組件
- 23. 如何在更改頁面時更改視圖頁面中的片段或頁面
- 24. 基於URL更改UIImageView
- 25. 更改CellReuseIdentifier基於部分
- 26. 更改基於屏幕
- 27. 基於URL更改OutputCache
- 28. 更改基於子項
- 29. 更改html基於javascript
- 30. 更改基於Javascript的CSS?
我對軌道非常陌生,所以試圖弄清楚如何解釋我想做什麼。 如果我在兩個地方渲染@events,我如何讓它們調用不同的部分?我希望他們有點不同。在主頁上,我不希望渲染事件顯示某些信息,但在事件列表頁面上,我希望顯示所有信息。 –
[只是爲了防止你不知道哈姆](http://haml-lang.com),'<%= foo %>'在erb中完全轉換爲'= foo'在haml – ecoologic