我正在更新Rails應用程序以利用Ember.js。在集成ember之前,應用程序中存在的那些視圖仍然可以正常工作,但我還添加了幾個新視圖。這些視圖具有所有必要的餘燼部分(模板,控制器等),以及除視圖文件之外的所有Rails部分。使用Ember.js時,是否有必要構建Rails視圖?
如果用戶通過單擊內部鏈接訪問它們,這些視圖可以正常工作。然而,如果用戶重新加載頁面或手動輸入URL,然後我得到這個錯誤:
ActionView::MissingTemplate at /contribute
Missing template pages/contribute, application/contribute with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby, :slim, :coffee]}. Searched in:
* "/home/sites/whistlr/app/views"
* "/home/.rvm/gems/[email protected]/gems/devise-3.0.0/app/views"
這顯然發生,因爲我沒有查看文件。問題是,這是嚴格必要的嗎?有什麼方法可以讓Rails加載Ember視圖嗎?理想情況下,一旦對話完成,我只需刪除所有舊的Rails視圖文件。
您的問題更多地是關於路由,然後關於視圖。 默認情況下Ember路由器將其路徑放在URL錨點中,採用這種方式:'http:// example.com/rails_path#/ ember_path' 雖然Rails路由器在URL路徑上工作。 請分享您的routes.rb和App.Router的片段,以便我們知道路徑是什麼。 – chrmod
我正在使用'Whistlr.Router.reopen位置:'history'',它取消了哈希標記。認爲這可能會干擾這一點? – nullnullnull