RoRで掲示板でも

RoRの勉強ついでにとりあえず掲示板を作ってみようかと思う。
ひとまずScaffoldつかって超簡易なものを。

まずはプロジェクトを作る。
プロジェクト名は「bbs」でいいや。

rails bbs

データベースの設定

次にとりあえずデータベースの設定だけ先に行っておく。
プロジェクトの中のconfigディレクトリのdatabase.ymlを書き換える。

今回は面倒くさいのでdevelopmentのところだけ、書き換える。

development:
  adapter: mysql
  database: bbs_development
  username: hoge
  password: hoge
  host: localhost

一方で、MySQL側でもこのプロジェクトで実際に使用するデータベースを用意する。
CUISQLを打つのもよいが、面倒なのでphpMyAdminで「bbs_development」データベースを作った。

モデルの設計

そしてモデルの設計を行う。
今回作るのは掲示板だが、まずはユーザー登録やコメントなどそういうのは気にせずに、
シンプルに記事単位を管理するクラス「article」を作ろうかと思う。
項目としては、

  • id(記事番号)
  • date(日時)
  • name(投稿者の名前)
  • title(タイトル)
  • body(本文)

だけがあればよいか。

ということで、こんなSQLを実行してテーブルを作った。

CREATE TABLE `articles` (
`id` INT( 8 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`date` DATETIME NOT NULL ,
`name` VARCHAR( 255 ) NOT NULL ,
`title` VARCHAR( 255 ) NOT NULL ,
`body` TEXT NOT NULL 
) ENGINE = MYISAM ;

ちなみに、RoRではテーブル名は単語の複数形にするという規約があるので、テーブル名は「articles」とした。

scaffold

今回作ったデータはscaffoldを使ってCREATE/READ/EDIT/DELETEができるようにしようと思う。
ということで、scaffoldを使ってプログラムの骨組みを作る。

プロジェクトのホームディレクトリに移動して

ruby script/generate scaffold Article

を実行すると、必要なコントローラ・モデル・ビューの各ファイルが生成される。

WEBrick

動作確認ようにRailsに標準で付属しているWEBrickサーバーを起動する。

ruby script/server

あとは、

http://localhost:3000/articles

にアクセスするとscaffoldによって作成された、記事の追加削除編集ができるプログラムを確認できる。