最新LLフレームワークエクスプローラ Ruby on Rails, Maple/Ethna(PHP),Catalyst(Perl),TurboGears(Python) 5大フレームワーク徹底攻略を元に
Project作成
名前は変えた
% rails ror_bookmark
DBの作成
bmuserも作られる
% mysql -u root -p Enter password: mysql > CREATE DATABASE ror_bookmark DEFAULT CHARACTER SET utf8; mysql > GRANT ALL PRIVILEGES ON ror_bookmark.* TO bmuser@localhost IDENTIFIED BY 'bmuser'; mysql > \q
% mysql -u bmuser -p -D ror_bookmark Enter password: mysql> CREATE TABLE items ( id INTEGER auto_increment, url VARCHAR(255), title VARCHAR(255), description TEXT, PRIMARY KEY(id)); mysql > \q
P.34のsqlだけどそのままだとテーブルが作れなかった.PRIMARY KEY(id)を入れたら動いた
database.ymlの設定
変更の該当部分のみ
development: adapter: mysql database: ror_bookmark username: bmuser password: bmuser host: localhost
Model, Controllerの作成
scriptでさくっと.使うものが決まってるからあまり考えなくてもいい
% ruby ./script/generate model Item % ruby ./script/generate controller Item
app/controllers/item_controller.rbを編集
testメソッド追加
class ItemController < ApplicationController def test render :text => 'hello rails' end end
http://localhost:3000/item/testにアクセスして確認
scaffold
app/controllers/item_controller.rbを編集.1行追加のみ
class ItemController < ApplicationController scaffold :item end
http://localhost:3000/item/にアクセスして確認.普通にできあがってる
日本語対応
config/environment.rbの先頭行に「$KCODE = 'u'」を追加
app/controllers/application.rbを編集
class ApplicationController < ActionController::Base before_filter :set_charset protected def set_charset @headers["Content-Type"] = "text/html; charset=utf-8" end end
scaffoldの作成
% ruby ./script/generate scaffold Item Item
view
見た目修正.app/views/Item/list.rhtmlを編集
validate
app/views/Item/list.rhtml修正
app/controllers/item_controller.rbのlistメソッド修正