2014-11-05 40 views
0

我分出了一顆寶石並改變了一些東西,但我真的很絕望。我總是得到模板丟失:Rails在自己的寶石中缺少模板

模板丟失 缺少模板大禮包/地址/指數,大禮包/存儲/指數,大禮包/基/指數,應用/與{指數:區域設置=> [:德, ::] formats:> [:html],:handlers => [:erb,:builder,:raw,:ruby,:jbuilder,:coffee,:haml,:rabl],:versions => [:v1 ]}。搜索:*「/ Users/Manu/Documents/rails_projects/my_store_dev/app/views」*「/Users/Manu/.rvm/gems/ruby-2.1.2/bundler/gems/spree_my_favourites-6076d6ee5cb2/app/views」 *「/Users/Manu/.rvm/gems/ruby-2.1.2/bundler/gems/spree_address_book-b66e2abf6429/app/views」*「/Users/Manu/.rvm/gems/ruby-2.1.2/bundler/ gems/spree-promotion-roles-rule-0fd33e96c5c4/app/views「*」/Users/Manu/.rvm/gems/ruby-2.1.2/bundler/gems/spree-promotion-exclude-specials-rule-1debc9765387/ app/views「*」/Users/Manu/.rvm/gems/ruby-2.1.2/bundler/gems/spree_better_terms_and_conditions-8001a85040eb/app/views「*」/Users/Manu/.rvm/gems/ruby-2.1。 2/gems/spree_quick_cart-2.2.3/app/views「*」/Users/Manu/.rvm/gems/ruby-2.1.2/bundler/gems/spree_i18n-1d94e07c68c7/app/views「*」/ Users/Manu /.rvm/gems/ruby-2.1.2/bundler/gems/spree_auth_devise-01901766a256/lib/views/backend「*」/Users/Manu/.rvm/gems/ruby-2.1.2/bundler/gems/spree_auth_devise- 01901766a256/lib/views/frontend「*」/Users/Manu/.rvm/gems/ruby-2.1.2/gems/devise-3.2.4/app/view s「*」/Users/Manu/.rvm/gems/ruby-2.1.2/bundler/gems/spree_gateway-5cbe3890d1a0/app/views「*」/Users/Manu/.rvm/gems/ruby-2.1.2/ bundler/gems/spree-33c8fa4d51d8/frontend/app/views「*」/Users/Manu/.rvm/gems/ruby-2.1.2/bundler/gems/spree-33c8fa4d51d8/backend/app/views「*」/ Users /Manu/.rvm/gems/ruby-2.1.2/bundler/gems/spree-33c8fa4d51d8/api/app/views「*」/Users/Manu/.rvm/gems/ruby-2.1.2/bundler/gems/大禮包 - 33c8fa4d51d8 /核心/應用/視圖」 * 「/Users/Manu/.rvm/gems/ruby-2.1.2/gems/kaminari-0.15.1/app/views」

這是我的路線文件:

Spree::Core::Engine.routes.draw do 
    # Add your extension routes here 
    namespace :account do 
    resources :orders, only: [:index] 
    resources :favourites, only: [:index] 
    resources :addresses, only: [:index] 
    end 

end 

這是我在controller/spree/account/AddressesController

module Spree 
    module Account 
    class AddressesController < Spree::StoreController 

    before_filter :check_logged_in_user 

    def index 
    @user = try_spree_current_user 

    end 

    private 

    def check_logged_in_user 
    unless try_spree_current_user 
     account_addresses__path 
     redirect_to spree_login_path 
    end 
    end 

    end 
end 
end 

我有一個在views/spree/account/addresses/index.haml,這是耙路線的一部分:

account_orders GET /account/orders(.:format)          spree/account/orders#index 
account_favourites GET /account/favourites(.:format)            spree/account/favourites#index 
account_addresses GET /account/addresses(.:format)            spree/account/addresses#index 

可有人請給我一個提示?

回答

0

你需要包含html到你的haml文件名。

像這樣:

your_file_name.html.haml 

重命名你的索引文件:

index.html.haml 

瞭解更多關於HAML這裏:

http://haml.info/tutorial.html

0

我有類似的經歷,不知道如果這適用於你,但這裏是:

這是我得到的錯誤:

ActionView::MissingTemplate at/. 
Missing partial spree/shared/_google_analytics with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :haml, :jbuilder, :rabl], :versions=>[:v1]}. Searched in: 
* "/Users/sjones/work/cs-spree/app/views"... 

但事實證明,部分確實存在,甚至被被解析並運行(我使用RubyMine的調試器來檢查)

的錯誤是不正確。在我的情況下,幫助器方法try_spree_current_user從控制器中丟失,並且此缺少的方法NoMethodError錯誤以某種方式被困住並且被顯示的MissingTemplate錯誤取代。

修復該錯誤導致模板加載得很好。

就像我說的,這可能不是你的問題,但是這太奇怪了,我把這張貼給其他人。