関連する記事 Ruby : ココログアルバムの一括設定 チェックボックスのように、設定されない CGI の変数は、nil になります。 また、比較の仕方は直接比較演算でいいようです。とにかく、完全なマニュアル が見当たらないので、細かいところは試すしかなく、サンプルが有用です。 if は、then を使用していますが、文法が以下のようになつているので書いています -------------------------- if 式 [then] 式 ... [elsif 式 [then] 式 ... ] ... [else 式 ... ] end -------------------------- またこうも書かれています -------------------------- Ruby では false または nil だけが偽で、それ以外は 0 や空文字列も含め全て真です。 -------------------------- つまり、条件部分に値だけを書くと予想外の結果になる可能性があります
#!/usr/local/bin/ruby print "Content-Type: text/html; Charset=shift_jis\n\n"; require "cgi" cgi = CGI.new ENV['GEM_HOME']="/home/lightbox/gems" $LOAD_PATH.push('/home/lightbox/lib') require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new #@nifty にログイン page = agent.get("https://login.nifty.com/service/login") form = page.forms.first form["username"] = cgi['username'][0] form["password"] = cgi['password'][0] page = form.submit # 対象ギャラリーの設定ページ page = agent.get('http://app.cocolog-nifty.com/t/app/gallery/configure?set_id='+cgi['gid'][0]) # 設定ページ page = agent.get('http://app.cocolog-nifty.com/t/app/gallery/configure?set_id='+cgi['gid'][0]+'&nwsThough=1') form = page.forms.first # ギャラリー名 if cgi['name'][0] != '' then form["name"] = cgi['name'][0] end # ブログのサイドバーに表示する if cgi['is_public'][0] == nil then form.checkbox_with(:name => 'is_public').uncheck else form.checkbox_with(:name => 'is_public').check end # 写真のサムネイル横列数 if cgi['num_columns'][0] != '' then form["num_columns"] = cgi['num_columns'][0] end # サムネイルを正方形に揃える if cgi['crop'][0] == nil then form.checkbox_with(:name => 'crop').uncheck else form.checkbox_with(:name => 'crop').check end # サムネイルのサイズ case cgi['combo1'][0] when '1' form.radiobuttons_with(:name => 'thumb_size')[2].check when '2' form.radiobuttons_with(:name => 'thumb_size')[1].check when '3' form.radiobuttons_with(:name => 'thumb_size')[0].check end # 写真の表示サイズ form.field_with(:name => 'full_size').value = cgi['combo2'][0] result = form.submit #print result.body print 'ココログ : アルバムの設定の更新を終了しました';