4日目のプログラム 完成
ん〜。。でも難しい。
確かに動いたけど、別にアレンジしたわけではないので
ちゃんとミスタイプがなければ動いて当たり前。
解説を読んでもなかなか理解するのには時間がかかるし
完全にすべては理解できない。。
くどいけどとにかく続けてみよう。
ちなみに昨日動きが変だったところの原因は単なるミスタイプ。
1つは、モデルのpage.rb内にあるnew_directoryメソッドの戻り値としてdir変数の内容を
返す必要があるのだが、そのdir変数の記載がなかった。
def new_directory
begin
dir = rand(MAX_VALUE).to_s
Dir.mkdir(fullpath(dir))
write_attribute(:directory, dir)
rescue Errno::EEXIST
dir = nil
end until dir
dir ←これが抜けてた
end
これは、新規にアップロードするとき、写真がアップできないことに影響していた。
もう1つは同じモデルのpage.rb内にあるビューのfile1に対するフィールドの読み取りメソッドと
書き込みメソッドへの記載が逆だった。
誤
def file1
add_file(file)
enddef file1=(file)
end
正
def file1
enddef file1=(file)
add_file(file)
end
これが影響して、2枚の写真が同時にアップロードできるはずが
1枚しかアップロードできなかった。
こうしてエラーが出て、その原因が何だったかわかると
なんとなくその部分はその役割が理解できる。
ポジティブに考えればミスタイプも悪くない。