Ruby on Railsでブログを作成するときに役立った情報まとめ
検索から来た人へ: ここに書かれている情報は古いので、最新の書籍やドキュメントを読むことを強くおすすめします。
(最終更新日:2013/12/19)
Ruby on RailsでちょっとしたCMSを作ろうとしていて、単純なブログ程度の機能はとりあえず作れました。ここらで使ったものやら何やらをまとめておきます。少しずつ書いていきます。
下書きにしておくとだるくなって書かなくなるので最初から公開しておきますが、一段落ついたらTwitter(@gaaamii)で通知します。はてブ付けてくれるとモチベが上がって更新が早くなるかもしれません。
書き終えました。
Ruby on Railsの導入
こちらでまとめました。2013/10/13時点での情報です。何かあれば修正しますのでお知らせください。
周辺ツール
Git,GitHub,Heroku(コード管理、デプロイ)
「ローカルで試しに作ってみる」という段階では絶対に必要なものではありませんが、いずれ必要になります。とりあえずは存在を知って、必要になった時にRailsTutorialの該当箇所を読むと良いと思います。
vim(テキストエディタ)
vimプラグインを管理するツール。まだあまり使いこなせてない。NeoBundleというツールの方が最近のものらしいというのを後から知りました。
vimでツリー表示するためのものです。これがないといちいちディレクトリをcdで移動しまくることになります。
便利なgem
テキストエリアのためのgem
- redcarpet
テキストエリアに入力されたものをそのまま出しちゃうのはもちろん(scriptタグとか埋め込まれたりして)セキュリティ的にやばいので、出力するときにはエスケープすることになります。
そのときに何かしら置換してあげないと見栄えが悪いです。かといってリッチエディタを用意するのは頭使いそうだし...
そんなお悩みを解決するのがマークダウンです。(qiitaのように)ユーザーとして想定する人が開発者なら、マークダウンさえ使えればオッケーなのではなのではないでしょうか。
タグ付けのためのgem
- acts-as-taggable-on
ブログなんかではたいてい必要になるのがこのタグ機能です。記事を書いて、それに[Ruby]とか[Rails]とか、タグを付ければ情報が整理できますよね。
ところが、これを自分で実装しようとしたら思いのほか難しい。そこで見つけたのがまさにタグ機能のためのgem、act-as-taggable-onです。以下のようなコマンドで簡単にマイグレーションファイルを作ってくれるって言うんだから便利なものです。
rails generate acts_as_taggable_on:migration
セキュリティ
CSRFとは
Wikipediaでどんなものか把握。Railsではmetaタグにこんな形でtokenを発行することによってCSRF対策を施してる。
<meta content="xxxxxxxxxxxxxx" name="csrf-token">
Strong Parameters
Rails 4からの新機能。コントローラ側で受け取るハッシュを制限するためのものです。具体的にどう危険なの?というのはRailsTutorialのこの部分を見るとわかります。
この脆弱生を突くことはMass Assignmentと呼ばれていて、Rails3でも対策はあったものの管理者次第では穴を作ってしまうケースがあり、何度か問題になっていたようです。
教材・参考資料
インターネット
まずはドットインストールですよね。
じっくりしっかり勉強するのに最適。企業の研修でも使われているほどのクオリティ。「ローカルで何か作る」という意味での手っ取り早さではドットインストールの方が良いかも。
便利なgemの使い方とかが動画チュートリアルで学べる。無料エピソードだけでもそこそこ役立つものが見つかる。
書籍
良書だと言われている通り、良書だった。ただ、書かれている内容はRails3向けなので、MassAssignment対策にはattr_accessibleを使いましょうみたいになっててRails4との違いはところどころに見られる。
検索してよくお世話になったサイトやブログ
感想
情報がたっくさん見つかるので、やっぱRailsを使うことにして良かったなと感じてます。