簡體   English   中英

使用Ember.js時是否需要構建Rails視圖?

[英]Is it necessary to build Rails views when using Ember.js?

我正在更新Rails應用程序以利用Ember.js。 集成ember之前,應用程序內存在的那些視圖仍然可以正常工作,但是我還添加了一些新視圖。 這些視圖具有所有必需的余燼部分(模板,控制器等),以及所有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/ruby-2.0.0-p0@whistlr/gems/devise-3.0.0/app/views"

這顯然正在發生,因為我沒有查看文件。 問題是,這是否絕對必要? 有什么方法可以告訴Rails加載Ember視圖嗎? 理想情況下,對話完成后,我將刪除所有舊的Rails視圖文件。

這不是必需的,但是您需要設置rails routes.rb使其具有也捕獲所有路由,就像顯示索引應用程序及其html的索引頁一樣。

namespace :api do
  # resources go here
end

root :to 'home#index'
match "/*path" => 'home#index'

注意:您要為您的項目自定義此路徑模式,否則404也將在此處發送。

不必創建單個視圖。 技巧是在應用程序控制器中捕獲異常,然后強制其呈現布局:

class ApplicationController < ActionController::Base
  rescue_from ActionView::MissingTemplate do |exception|
    render "/layouts/application"
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM