Step by Step Ruby on Rails

Ruby on Railsで実際にWebサイトを構築する手順をまとめています。

Rails4でbrowsercmsを使ってみる

Rails4にbrowsercms4.0.0.betaをインストールし、cmsとしての使い勝手を試してみました。
 
(1)インストール、初期設定
 
1)gemをインストール
 
$ gem install browsercms -v "= 4.0.0.beta"

ERROR:  While executing gem ... (Gem::DependencyError)
    Unable to resolve dependencies: railties requires activesupport (= 4.0.5); actionpack requires activesupport (= 4.0.5); activerecord requires activesupport (= 4.0.5); activemodel requires activesupport (= 4.0.5)

activesupport (= 4.0.5)が必要とのエラーが発生したので、インストールします。
 
$ gem install activesupport -v "= 4.0.5"
 
$ gem install browsercms -v "= 4.0.0.beta"

Fetching: chunky_png-1.3.1.gem (100%)
Successfully installed chunky_png-1.3.1
   :

 
2)デモWebサイトを作成
 
①bcms demo project_nameを実行
 
$ bcms demo brcms

      create
    :
        rake  cms:install:migrations
rake aborted!
ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
   :
 initializer  browsercms.rb
    generate  cms:template

Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)
    :
Created new BrowserCMS project 'brcms'.
    To get started, type 'cd brcms'
    then type 'rake db:install'
    then type 'rails server' and open your browser to 'http://localhost:3000'.

 
②therubyracerをインストール
 
上記①で"Could not find a JavaScript runtime"のエラーが出ていたので、therubyracerをインストールしてみました。
 
$ vi brcms
$ vi Gemfile
 
gem 'therubyracer', platforms: :ruby
 
$ bundle install
 
③rake cms:install:migrationsを再実行
 
上記①でエラーでabortしていたので再実行しました
 
$ rake cms:install:migrations

Copied migration 20140604054233_browsercms300.cms.rb from cms
Copied migration 20140604054234_browsercms400.cms.rb from cms

 
④rake db:installを実行
 
3)動作確認
 
①サーバー起動
 
$ rails s &
 
②http://localhost:3000/cms にアクセス
 
デフォルトの管理ユーザーは、cmsadmin(パスワードも同じ)。
 
"MissingTemplateエラー"が発生しました。
 
ログインは出来ているようなのですが、ログイン後に遷移するホームページで下記エラーが発生していました。
 
Error: ActionView::MissingTemplate
 
4)デフォルトのテンプレート作成
 
調べてみると、デモWebサイトの作成時にJavaScript runtimeエラーでテンプレートの作成が失敗していたので、下記コマンドでデフォルトのテンプレートを作成します。
 
$ rails g cms:template default
create app/views/layouts/templates/default.html.erb
 
5)Webサーバーを再起動し、再度ログイン
 
まだMissingTemplateエラーが発生します。
 
管理画面で"Home"ページの編集画面にいくと、Templateの項目が"Home page"となっていたので、これを"Default"に変更したらエラーが解決されてコンテンツが表示されるようになりました。
 
(2)browsercms v4.0.0.betaのページ編集
 
1)"Home"ページの編集
 
①上部メニューの"Pages"をクリックし、ページ一覧を表示
 
②"Home"の行を選択し、"Edit"をクリック
 
③ページ編集
 
この画面でページのタイトル、パス、SEOの設定などが出来るのですが、ページのコンテンツを編集する欄がないのです。
 
マニュアルを見るとコンテンツを編集するには、"Context Editing"モードにする必要があり、デフォルトではOffになっているとの事。
 
Onにするには、ツールバーの右側にある"Tuon On"ボタンをクリックせよ、とあるのですが、そのボタンがありません。
 
さらに調べてみると、オンラインマニュアルはバージョン3対応のもののようで、バージョン4ではこのボタンが無くなったとの事。
 
では、どのように編集すればよいのかといろいろ触っていると、ページ一覧の"Edit"ではなく、"View"をクリックしたページを表示している画面で直接編集できるとの事。
 
"Edit"と"View"があれば、"Edit"でページを編集して、"View"で確認すると思い込んでいました。
 
"View"では、ビジュアルエディタのような形式で実際の見た目と同じような状態で編集できるようです。
 
ただ、HTMLのタグを直接入力することが出来るテキストモードのエディタについては、どのようにそのモードにすれば良いのか分かりませんでした。そもそのテキストモードによるコンテンツ編集機能が無いのかもしれません。
 
2)新規ページ作成
 
①メニューの"New"→"Page"をクリック
 
②Add A New Page画面
 
上記ページ編集画面と同様で、ページのタイトル、パス、SEOの入力欄はありますが、コンテンツ入力欄がありません。
 
とりあえず、保存しました。
 
③ページ一覧で該当ページを選択し、"View"をクリック
 
やはりこの"View"画面でコンテンツを入力、編集しなくてはいけないのでしょうか?
 
設定を変えればもう少し使いやすくなるのかもしれませんが、Refineryと比べてとても使いづらいという印象でした。