今日からWebLogic研修
今日の作業
RailsによるアジャイルWebアプリケーション開発
第2部 アプリケーションを構築する
ショッピングサイト
満足度の基準
→もう一度Webアプリを最初から作ることで理解しきれていないところを
解消していく。
わからなかったこと
database.ymlの項目の役割
明日やること
カタログの表示
カートの作成
今日の作業でわかったこと
今日からショッピングサイトを作り始めたがconfig/database.ymlの設定やtableの作り方が
ブックマークのときと違い苦労した。config/database.ymlについてはまだ項目の役割を
把握できていないので解決していきたい。
調べたことのまとめ
#28000Access denied for user ''@'localhost' (using password: NO)
解決策はconfig/database.ymlのusernameを""(空文字)は設定していないのでrootにする。
ブラウザで
http://localhost:3000/admin
を実行したら,また
#28000Access denied for user ''@'localhost' (using password: NO)
原因はサーバの再起動をしてなかったため
mongrel_rails restart
サーバの再起動
足りない列の追加
マイグレーションを使用
aptanaのGeneratorsでmigrationを選んでAddDateAvailableと名前を付け実行
db/migrateの下の002_add_date_available.rdの中身を
class AddDateAvailable < ActiveRecord::Migration def self.up add_column(:products, :date_available, :datetime, :null => false) end def self.down remove_column(:products, :date_available) end end
に変更。そして
depot>rake migrate
をしてDBに反映。
参照
RailsによるアジャイルWebアプリケーション開発
(付録E)
http://www.amazon.co.jp/Rails%E3%81%AB%E3%82%88%E3%82%8B%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%ABWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA-%E5%89%8D%E7%94%B0-%E4%BF%AE%E5%90%BE/dp/4274066401
そして
depot>ruby script/generate scaffold Product Admin
scaffoldのコードが古くなったので再生成でファイルを上書き
検証機能
モデルを通らずにDBから情報を取り出したり保存したりはできない。
よって検証機能を置く理想的な場所はモデル。
validates_presence_of :title, :description
validates_presence_of()メソッドは指定されたフィールドが存在し、
その内容が空でないことを確認する。
validates_numericality_of :price
指定されたフィールドが数値であるか確認。
validates_uniqueness_of :title
指定されたフィールドの名称が重複していないこと確認。
aptanaのapp/views/admin/list.rhtmlが上書き保存できない。
原因は
depot>sudo script/generate scaffold Product Admin
とsudoで実行したため所有者がrootになったため
解決策は
workspace> sudo chown m-matsumoto.m-matsumoto depot/app/views/admin/*
で所有権の変更をする。