RoRで掲示板でも
RoRの勉強ついでにとりあえず掲示板を作ってみようかと思う。
ひとまずScaffoldつかって超簡易なものを。
まずはプロジェクトを作る。
プロジェクト名は「bbs」でいいや。
rails bbs
データベースの設定
次にとりあえずデータベースの設定だけ先に行っておく。
プロジェクトの中のconfigディレクトリのdatabase.ymlを書き換える。
今回は面倒くさいのでdevelopmentのところだけ、書き換える。
development: adapter: mysql database: bbs_development username: hoge password: hoge host: localhost
一方で、MySQL側でもこのプロジェクトで実際に使用するデータベースを用意する。
CUIでSQLを打つのもよいが、面倒なので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によって作成された、記事の追加削除編集ができるプログラムを確認できる。