ayabaudのRuby学習記録 RSSフィード

2007-09-23

[]BOMさんについて 15:13 BOMさんについて - ayabaudのRuby学習記録 を含むブックマーク はてなブックマーク - BOMさんについて - ayabaudのRuby学習記録 BOMさんについて - ayabaudのRuby学習記録 のブックマークコメント

BOMさんについて調べてわかったこと。

UTF-8で保存すると、エディタファイルの先頭にBOMを埋め込む。

Rubyはそのままだと処理できずにエラー

なので、UTF-8で保存する時はBOMなしで保存をする。

原因がわかって、心は超すっきりだぁぁぁぁぁ!

エラーからまた一つ学んだよ。

2007-09-22

[]解決したと思ったらまた…orz 06:06 解決したと思ったらまた…orz - ayabaudのRuby学習記録 を含むブックマーク はてなブックマーク - 解決したと思ったらまた…orz - ayabaudのRuby学習記録 解決したと思ったらまた…orz - ayabaudのRuby学習記録 のブックマークコメント


検証コードを記述。

class Product < ActiveRecord::Base
  validates_presence_of :title, :description, :image_url
  validates_numericality_of :price
end

ここまではよかった。

が!

protected
def validate
  errors.add(:price, "は 0 より大きくなければなりません") unless price.nil? || price > 0.0
end

これを追加したとたんエラー

product.rbを保存する際にエンコードUTF-8にしていなかった事に気が付き保存しなおす。

でも、

app/models/product.rb:8: syntax error, unexpected kEND, expecting $end

エラー

文法がおかしいのかと思い、見直してみたけどおかしいところはない。

もしかしたら他に問題があるのかと思ってdatabase、アダプター、他のファイルをみたけど

原因になるようなのは見当たらない。


「もう、最初からやりなおそう」

と言う事でdatabase作成からやり直す。

ついでにusername,passも追加。

そしてついに検証コード

やっぱりエラー

でも負けないんだぜ!

ってな感じでこんな事やってたら5時間経過。

結果

product.rbを保存する際、BOMなしで保存したら解決。

やっと表示されたー

けど、BOMなしでいいのかなぁ。

いや、明日良く調べよう。

しかし疲れた。

2007-09-04

[]昨日のエラーの続き 23:42 昨日のエラーの続き - ayabaudのRuby学習記録 を含むブックマーク はてなブックマーク - 昨日のエラーの続き - ayabaudのRuby学習記録 昨日のエラーの続き - ayabaudのRuby学習記録 のブックマークコメント


結局、username指定してもpass指定してもうまくいかーん!

ので泣く泣くdatabase.ymlにusernameにrootpass入力してみた。

database.ymlだけusername指定しても、MySQLの設定がrootじゃだめなんだYO!

って事?

動いたけど、なんかあんまりすっきりしないというか、嬉しくにゃーーーーーいっ!

MySQLバージョンOS関係なんかもあるみたいだね。

んでもってこの本、わかりやすいとこはわかりやすいけど、

そうねぇ...人間で例えると

「口数少なめな男子

って感じ。

まあ、ひとまずこれで進めていきます。。。

2007-09-03少し前につまづいたとこー

[]grant文 16:26 grant文 - ayabaudのRuby学習記録 を含むブックマーク はてなブックマーク - grant文 - ayabaudのRuby学習記録 grant文 - ayabaudのRuby学習記録 のブックマークコメント

データベース作成の時に早速エラーーーorz

ERROR 1133 (42000): Can't find any matching row in the user table

「なななななんんだってー!!!

...

またこんなしょっぱなからつまづいて私ってば本当に...」


なんて落ち込みながら色々調べる。

どうやらMySQL 5.0.2以降だとsql_modeにNO_AUTO_CREATE_USERとパスワード無効ユーザが作成できないらしい。

なので、あるお方のやり方をまねっこしてsql_modeを無効にして作成。

無事作成されたようです^^


・追記

またもエラーーー。

今度は

ruby script/generate scaffold Product Admin

を実行したら

Access denied for user 'ODBC'@'localhost' (using password: NO)

エラー

うーん、googleティーチャーにお聞きしたところ、

ユーザパスワード指定なしで接続しようとした場合とあるけど...

database.ymlのusernameが「""」にしてあるからかと思ってusername指定してみたけど、やっぱりエラー

うーん...

どうしたらいいのだろう。

2007-08-15

[]今日やった事で 04:22 今日やった事で - ayabaudのRuby学習記録 を含むブックマーク はてなブックマーク - 今日やった事で - ayabaudのRuby学習記録 今日やった事で - ayabaudのRuby学習記録 のブックマークコメント

なんだか忘れやすかったとことか間違いやすかったとこ。


rubyプログラムを記述するのに、拡張子をrhtmlじゃなくてhtmlにしてしまった。

・前回のプロジェクト内のまんまのWEBサーバ。(あほすぎる…)

・environment.rbに$KCODE = "UTF-8"の記述。

・application.rbに出力文字コードの設定。

Rubyコード埋め込み時に画面表示を伴う時は<%= ~ %> 、 伴わない時は<% ~ %>


気をつけよう。