Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Rails4 + Refinery CMSで友人のBlogサイトを作る

More than 5 years have passed since last update.

開発者目線でCMS選定しています。
ユーザーの要望を楽に満たせて、かつ開発しやすいものを選んでいると思います。

なぜCMSでRailsか?

  • wordpressは嫌
  • メンテナンスしやすい
  • Paasで安く手軽に運用したい
  • HTMLを書きたくない Slimがいい
  • 処理量が多くないので、Railsでも遅くならないはず
  • デザインは自分で頑張りたい

 wordpressはPHPの特性のためか、HTMLと処理が同じソース内に存在します。 昨今MVCと口うるさく言われている開発者としては非常に気持ちが悪いです。またwordpress独自の実装方法を覚えないといけないのが最悪です。
 wordpressの良い点は非開発者でもサイトが簡単に作れるところ。しかし現実はデザイナーさんだけでは解決できない要望が多いのも事実です。メンテナンスがしにくいwordpressよりもRailsで楽に要望に応えられる方がメリットが多いと判断しました。

どのCMSを使うか?

こちらのサイトを元に選定しました。
9 Best Ruby On Rails Content Management Systems (CMS) - HackHands
すべての候補CMSでdemoがあれば触って、documentやgithubのリポジトリを見ています。

主な選定基準

  • 現在も開発が行われているか
    • Rails3は嫌(遅い、文法違う)
    • 長期的に使うつもり
  • wordpressライクなPOSTができるか(demoページで確認)
  • Rails4対応

選定プロセス

上記候補群から選定基準をあてはめると、、

  • Refinery CMS
  • Locomotive CMS

が残りました。

 ほとんどgithubのリポジトリを見てはじいています。starがあまりにも少なかったり、masterブランチのコミットが最近活発でなかったりしたものです。

選定結果

表題の通り、Refinery CMSにしました。

Refinery CMSとLocomotive CMSの比較

Locomotive CMSの良い点

  • 割とメジャー
  • かなり開発が盛ん
  • 日本語対応

Locomotive CMSの悪い点

  • liquidというファイル形式(最悪)
    • hamlみたいなものですが、これ必要??とかなり疑問です
  • slimが使えない
    • liquidという特殊な文法のため、slimが動かないようです
  • yamlでコンテンツを管理する
  • Railsから外れている?
    • assetsを直接public以下に置くようdocumentationされていました

Refinery CMSの良い点

  • Railsから外れない
    • CMS独自の文法を覚える必要がない
    • slimが使える
  • 管理画面がシンプル
    • wordpressのように、良くわかっていない管理者に勝手にアップデートされて、サイトを壊される心配がない(他のCMSも同じメリットはあります)
  • 日本語対応

Refinery CMSの悪い点

まだ使いこんでいないので、悪い点が見えていません

Rails4でのインストール手順

rbenvなり、rvmを使ってgemの管理をしてください。
以下はrbenvを使っています。

mkdir {name}
cd {name}

vim Gemfile
  # refinerycms関連を入れてください。その他は私の好みです。
  source 'https://rubygems.org'

  ruby '2.2.3'

  gem 'rails', '4.2.5'
  gem 'mysql2'
  gem 'sass-rails'
  gem 'uglifier'
  gem 'coffee-rails'
  gem 'therubyracer', platforms: :ruby
  gem 'jquery-rails'
  gem 'turbolinks'

  # refinerycmsで必須
  gem 'execjs'
  gem 'refinerycms'
  gem 'refinerycms-acts-as-indexed'
  gem 'refinerycms-wymeditor'
  gem 'refinerycms-authentication-devise'

  gem 'slim'

  group :development, :test do
    gem 'rspec-rails'
    gem 'factory_girl'
    gem 'pry'
    gem 'pry-doc'
  end

  group :development do
    gem 'spring'
    gem 'spring-commands-rspec'
    gem 'quiet_assets'
    gem 'thin'
    gem 'better_errors'
    gem 'binding_of_caller'
    gem 'rubocop', require: false
    gem 'bullet'
  end

  group :test do
    # gem 'capybara'
    # gem 'launchy'
    # gem 'poltergeist'
    # gem 'faker'
    # gem 'fuubar'
  end
:wq
bundle install --path vendor/bundle
bundle exec rails new -B -T -d mysql .        # dbは自由に選択してください
vim config/database.yml                       # 自身の環境に合わせて設定してください
bin/rails g refinery:cms --fresh-installation
bin/rails g rspec:install                     # rspec書くつもりないのであれば不要です。
bundle exec spring binstub rspec              # rspec書くつもりないのであれば不要です。

bin/rails s
open http://localhost:3000/refinery
stmon19
遊びが一番 人生遊び 好きにまみれてます
https://takeshit.info
trech
Salesforce社が提供するSFA(営業支援)・CRMをもとに、企業の基幹業務・サービス業務を中心としたWEBシステムやスマートフォン等のアプリケーションを受託開発し、その運営保守を行う。
https://trech.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away