我想將具有多個模型,控制器和視圖的現有導軌應用程序轉換爲單個頁面應用程序(SPA)。我怎樣才能爲每個模型渲染視圖,而不是作爲單獨的html頁面,而是作爲主頁的各個部分(比如說每個部分的div),這些部分可以通過垂直滾動進行導航?在標準的MVC Rails應用程序中,是否有可能獲得相同的用戶體驗,我的意思是特定的垂直滾動?將現有導軌應用程序轉換爲單個頁面
回答
好了,一個標準的Rails應用程序轉換爲單頁應用(SPA),你需要把它勾到MVC前端 - 最終框架。之前由rails調用呈現的html現在將被引入前端MVC框架,該框架將通過進行AJAX調用來呈現頁面的一部分而不是整個頁面。 模型沒有什麼變化,幾乎所有的控制器代碼也保持不變。 作爲一個前端MVC框架,您可以查看angular.js,它來自Google穩定的產品或backbone.js,我個人覺得它很棒。事實上,還有一大堆其他框架,從ember.js到重要的和全功能的,包括最小和必要的handlebar.js 如果你正在尋找教程,tutsplus有一個我知道的軌道骨幹教程。希望這會讓你開始。
我鑽研了燼,它看起來不錯,但我找不到一個簡單的說明如何創建一個簡單的垂直滾動頁面。據我瞭解,在一個典型的餘燼應用程序模板應該取代對方。 – helcim
你要呈現要顯示,有注意與模型和控制器代碼做.. 這個參考以下鏈接 http://guides.rubyonrails.org/layouts_and_rendering.html
這是完全可能的,你應該調用頁面的意見你通過javascript而不是html進行操作,以便每個操作都返回您想要修改的頁面的一部分,而不是重新加載整個頁面。
例如,假設您想要將用戶添加到用戶列表:
當您單擊添加按鈕,你做一個AJAX張貼到您的控制器。
這個行動迴應了JavaScript文件的JS格式(controller_action.js.erb)
這個js文件將評估對應於你的表中的一條線的部分模板(_user.html.erb ),找到你的表和評估HTML追加到表
看一看:
http://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html
具體這部分與示例回答你的問題:
http://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html#server-side-concerns
嘗試turbolinks寶石 你的應用程序將類似於一個頁面的應用程序,而且工作量少,時間少。
- 1. 將現有的.NET應用程序轉換爲Web界面
- 2. 單頁導軌應用程序
- 3. 設計現有導軌應用程序
- 4. Java:將一個小程序轉換爲桌面應用程序
- 5. 將單線程應用程序轉換爲ASyncTask應用程序
- 6. 將單個HTML頁面轉換爲APP
- 7. 將網頁應用程序轉換爲移動應用程序
- 8. 將桌面應用程序轉換爲Web應用程序
- 9. 將Android應用程序轉換爲Java桌面應用程序
- 10. 將JavaFX桌面應用程序轉換爲Web應用程序
- 11. 轉換爲現有的Web應用程序的引導
- 12. 將Facebook頁面轉換爲Android應用程序
- 13. 如何將Wpf頁面應用程序轉換爲dll?
- 14. 將現有wp7應用程序轉換爲試用版
- 15. 將現有頁面轉換爲數據透視頁面
- 16. 將現有的網絡應用程序轉換爲Facebook應用程序/ Google Apps
- 17. 爲現有導軌應用程序創建iphone和android應用程序
- 18. 將單個用戶應用程序轉換爲多用戶應用程序
- 19. 將現有應用程序AWS堆棧轉換爲CloudFormation
- 20. 將現有的應用程序轉換爲庫
- 21. 將現有的asp.net web應用程序轉換爲MVC3
- 22. 如何將現有的MapReduce應用程序轉換爲Crunch?
- 23. 將現有應用程序轉換爲與iphone5兼容?
- 24. 將現有應用程序從使用sqlmembership轉換爲簡單會員
- 25. 如何將Windows桌面應用程序轉換爲Mac桌面應用程序?
- 26. 引導程序將每個頁面呈現爲製表符
- 27. 將單軌應用程序嵌入另一個應用程序
- 28. 使用導軌將頁面呈現爲文件
- 29. 桌面應用程序轉換器win32應用程序轉換
- 30. 如何將現有的Angular1網頁應用程序轉換爲Cordova應用程序?
你只需要改變意見,這是與模型和控制器做到這一點.. –
詳細請詳細說明。 –