0

从事一个项目,CMS 将在常见问题解答、帮助和所有爵士乐中派上用场。我遇到的问题是我决定使用Alchemy CMS 3.0.0。我遵循了如何使用现有 Rails 应用程序进行安装的指南。

我添加了宝石。Gemfile 目前显示如下:

source 'https://rubygems.org'
ruby '2.1.1'

gem 'rails', '4.1.0.rc2'
gem 'mysql2'

gem 'sass-rails',   '~> 4.0.1'
gem 'uglifier',     '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'

gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'

gem 'bcrypt', '~> 3.1.5'

gem 'alchemy_cms',    :github => 'magiclabs/alchemy_cms',  :branch => "3.0-stable"
gem 'wistia-api',     :github => "BenMorganIO/wistia-api", :branch => "customizations"
gem 'stripe',         :github => 'stripe/stripe-ruby'
gem 'ahoy_matey'
gem 'newrelic_rpm'
gem 'gravtastic'
gem 'intercom-rails', '~> 0.2.24'

group :doc do
  gem 'sdoc', '~> 0.4.0'
end

group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'meta_request'
end

group :development, :test do
  gem 'rspec-rails'
  gem 'cucumber-rails', :require => false
  gem 'database_cleaner'
end

group :production do
  gem 'rails_12factor'
end

然后我跑了bundle。后来,我跑了bin/rake alchemy:install

一旦完成,我就跑了rails server。我的本地主机上的输出是 404。然后我检查了日志文件并出现了这个错误:

Alchemy is not mounted! Falling back to root path (/).
If you want to change Alchemy's mount point, please mount Alchemy::Engine in your config/routes.rb file.

我走过去,config/routes.rb发现它似乎已安装:

Rails.application.routes.draw do
  mount Alchemy::Engine => '/'

  root 'home#index'

  get 'about' => 'home#about', :as => 'about'

  resources :users
  match "signup"       => "users#new",   :via => "get", :as => 'signup'
  match "account"      => "users#index", :via => "get", :as => 'account'
  match "account/edit" => 'users#edit',  :via => "get", :as => 'edit_account'

  resources :sessions, :only => [:new, :create, :destroy]
  # match "login"  => 'sessions#new',     :via => "get",    :as => 'login'
  match "logout" => 'sessions#destroy', :via => "delete", :as => 'logout'

  resources :channels

  resources :videos
  get '/videos/:id/:title' => 'videos#show', :as => 'video_by_title'

  resources :charges
end

我评论了登录匹配,因为我相信 Alchemy 也有完全相同的路线。我已经采取了预防措施,除了炼金术坐骑之外的所有内容都已注释掉,但错误仍然存​​在。

这就是我所做的一切。

关键问题:我如何让炼金术发挥作用?

4

1 回答 1

3

如果您mount Alchemy::Engine => '/'首先在您的内部config/routes.rb它将控制所有请求,那么您需要做的是在您想要优先于您的 Alchemy 应用程序的任何资源之后安装您的 Alchemy 引擎。因此,将该行移至routes.rb允许其他资源优先于 Alchemy 的底部,然后它将作为所有其他未定义路线的总括。

如果您在localhost:3000首先安装 Alchemy 的情况下收到 404 - 我相信正在发生的是您正在为您的 Alchemy 应用程序打根路由,如果您尚未创建语言站点树,则该路由将 404。在这种情况下,登录 Alchemy ( localhost:3000/admin) 并为您的默认语言创建您的第一个站点树,它将生成您的根页面。

rails generate alchemy:elements如果您还没有为 Alchemy 生成初始元素,也可以尝试一下。

于 2014-06-27T01:02:54.773 回答