В Rails отсутствует шаблон в собственном геме
Я раздвоил драгоценный камень и изменил некоторые вещи, но я действительно в отчаянии. Я всегда получаю Шаблон отсутствует:
Отсутствует шаблон. Отсутствует шаблон / адреса / индекс, список / магазин / индекс, блок / база / индекс, приложение / индекс с {:locale=>[:de,:en],:format =>[:html],:handlers=>[:erb,:builder,:raw,:ruby,:jbuilder,:coffee,:haml,:rabl],:version =>[: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-role-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" * "/ Пользователи / Ману /.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/views" * "/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/spree-33c8fa4d51d8/core/app/views" * "/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
Это мое AddressesController
в controller/spree/account/
:
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
у меня есть index.haml
в views/spree/account/addresses/
и это часть рейковых маршрутов:
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
Может кто-нибудь дать мне подсказку?
3 ответа
У меня был подобный опыт, не уверен, относится ли это к вам или нет, но вот оно:
Это ошибка, которую я получил:
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
ошибка показана.
Исправление этой ошибки приводило к тому, что шаблон загружался очень хорошо.
Как я уже сказал, это не может быть вашей проблемой, но это так странно, я публикую это для других.
Я получаю эту ошибку после установки расширения spree_theme
Missing partial spree/shared/_google_analytics
я закончил тем, что нашел файл (таким образом, это не пропало вообще) здесь: public/vinsol_spree_themes/current/views/spree/shared/_google_analytics.js.erb
после отладки немного наконец-то обнаружен отсутствующий класс class not defined
ошибка типа с чем-то Spree::Tracker
так что все, что мне было нужно, это исправить эту зависимость, и все stujo, как уже упоминалось выше, в stujo иногда кажется, что это сообщение связано не с самим файлом, а с внешними причинами.
Вот как я создаю свой проект с нуля, если вы продолжите таким образом, у вас, вероятно, не будет больше проблем, и вы сможете запустить spree 3.5
просто хорошо
Установка Шпрее с нуля
** Если у вас есть пустое приложение рельсы **
Обновить Gemfile
gem 'spree', '~> 3.5.0'
gem 'spree_auth_devise', '~> 3.3'
gem 'spree_gateway', '~> 3.3'
Установить зависимости разработки
1) bundle update i18n
(я думаю, что это необязательно, но не уверен)
2) bundle install
Установите генераторы установки, чтобы настроить Spree:
1) rails g spree:install --user_class=Spree::User
Вам будет предложено настроить учетную запись администратора Email [spree@example.com]: admin@cucg.com
Password [spree123]:
тогда просто беги rails s
и у тебя все будет готово
Я только следовал этому Официальному Руководству по установке Шпрее, и все работало просто
Вы должны включить html в ваше имя файла haml.
Вот так:
your_file_name.html.haml
Переименуйте ваш индексный файл в:
index.html.haml
Узнайте больше о хамле здесь: