在一个项目中工作,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也有完全相同的路线。我采取了预防措施,除了炼金术之外已经评论了所有内容,错误仍然存在。
这就是我所做的一切。
关键问题:我如何让Alchemy工作?
答案 0 :(得分:3)
如果mount Alchemy::Engine => '/'
首先在config/routes.rb
内控制所有请求,那么您需要做的就是在您希望优先于Alchemy应用程序的任何资源之后安装Alchemy引擎。因此,将该行移至routes.rb
的底部,允许其他资源优先于Alchemy,这将成为所有其他未定义路径的全部。
如果您在localhost:3000
收到了首先安装Alchemy的404,那么我认为您正在为您的Alchemy应用程序找到根路线,如果您还没有创建语言网站树。在这种情况下,登录Alchemy(localhost:3000/admin
)并为您的默认语言创建您的第一个站点树,它将生成您的根页面。
如果您没有为Alchemy生成初始元素,也可以尝试rails generate alchemy:elements
。