0

CMS が FAQ、ヘルプ、およびすべてのジャズに役立つプロジェクトに取り組んでいます。私が遭遇した問題は、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 マウント以外のすべてをコメントアウトしましたが、エラーは引き続き発生します。

これが私がやったことのすべてです。

重要な質問: Alchemy を機能させるにはどうすればよいですか?

4

1 に答える 1

3

mount Alchemy::Engine => '/'最初に内部ですべてのリクエストを制御する場合config/routes.rb、Alchemy アプリケーションよりも優先したいリソースの後に Alchemy エンジンをマウントする必要があります。したがって、その行を一番下に移動して、routes.rb他のリソースが Alchemy よりも優先されるようにします。これにより、他のすべての未定義ルートのキャッチオールとして機能します。

Alchemy が最初にマウントされた状態で 404 を受け取った場合localhost:3000、言語サイト ツリーをまだ作成していない場合は 404 になる Alchemy アプリケーションのルート ルートに到達していると考えられます。その場合、Alchemy ( localhost:3000/admin) にログインし、デフォルトの言語に合わせて最初のサイト ツリーを作成すると、ルート ページが生成されます。

またrails generate alchemy:elements、Alchemy の初期要素を生成していない場合も試してみてください。

于 2014-06-27T01:02:54.773 に答える