リストボックス options_for_selectの並び順

options_for_selectなどでリストボックスを作成することがあるのだけど、
そこで、表示の並び順が方法によってはバラバラになってしまいます。

どうも、Hash方式だと表示順が保証されないらしいので、配列にするべきらしい。

例)
並び順がバラバラになる(Hash方式)
options_for_select('りんご' => 1, 'メロン' => 2, 'みかん' => 3)

並び順をそのまま表示(配列方式)
options_for_select([['りんご','1'],['メロン','2'],['みかん','3']])

以上、案外資料テキストなどにも載っていなかったのでメモメモ


UploadColumn設定等

UploadColumnについて
設定のやり方で、いろいろなことが出来るのでメモっておく。


例えばModel内が以下のような場合

class Profile < ActiveRecord::Base
upload_column :icon, :manipulator => UploadColumn::Manipulators::RMagick, :store_dir => proc{|record, file| "images/icon/#{record.id}/"}, :versions => { :thumb => "c48x48", :large => "200x200"}
end

画像ファイルの格納先
「:store_dir => proc{|record, file| "images/icon/#{record.id}/"}」で指定している
例)ID:10 の A.jpgファイルは「images/icon/10/A.jpg」と格納される。



サイズ違いの画像ファイルの保存
「:versions => { :thumb => "c48x48", :large => "200x200"}」で指定している
例)A.jpgの場合、これらはそれぞれ
・A-thumb.jpg
・A-large.jpg
という名前で保存される
※ ちなみに"c48x48"の「c」を付けることにより長方形の画像が強制的に正方形にするみたい。


これらを呼び出すためには
通常
〜profile.icon.url〜
と書くところを
〜profile.icon.thumb.url〜
みたいに書くとその対象画像を引っ張ってくることが出来ますよ。



参考:http://uploadcolumn.rubyforge.org/rdoc/files/README.html

UploadColumnを使ってみた

画像ファイルのアップロードはFileColumnなどが有名のようですが、
どうも開発が終わっている(?)ようなので、UploadColumnにチャレンジ
まだ日本語の資料が少ないようなので作業メモと同時に記録に残しときます。


参考:UploadColumn<http://uploadcolumn.rubyforge.org/>


まず下準備
illustプロジェクトを作成

$ rails illust


DB等の設定を行った後はおもむろにscaffoldでalbumを作成&マイグレート

$ script/generate scaffold album name:string picture:string
$ rake db:migrate


サーバー起動

$ script/server


<http://localhost:3000/albums>で動くことを確認


では早速とりかかります

プロジェクトのディレクトリ上で以下を実行してインストール

$ git clone git://github.com/jnicklas/uploadcolumn.git vendor/plugins/upload_column
$ cd vendor/plugins/upload_column
$ git checkout 0.3

これでとりあえずインストールされたはず。。。
では早速、画像アップロードのための修正


Modelの変更
app/models/album.rbに追加

class Album < ActiveRecord::Base
upload_column :picture
end


Viewの変更

新規アップロード時にアップロード用フィールドに変更&「multipart => true」対応
app/views/albums/new.html.erbを編集

・・・・
<% form_for(@album) do |f| %>
<% form_for(@album,{:html => { :multipart => true} }) do |f| %>
・・・・
<%= f.text_field :picture %>
<%= upload_column_field 'album', 'picture' %>
・・・・


app/views/albums/show.html.erbを編集

・・・・
<%=h @album.picture %>
<%= image_tag @album.picture.url %>
・・・・


app/views/albums/index.html.erbを編集

・・・・
<%=h album.picture %>
<%= image_tag album.picture.url %>
・・・・

これでOK。
ファイルの格納場所や大きさ変更はModelのところで記載していくみたい。


UploadColumn、結構使えるかも。

Subversionでエラーメッセージ

SVNについて学ばなければと、Windows
SubversionTortoiseSVNをインストール。


んで、サクサクとやっていたら突如謎のメッセージ。

期待されるファイルシステム形式は 1 から '3' の間ですが、実際の形式は '4' です

んー。突然数字で言われても分からんじゃんかー。


調べていると、同様の事態を解決しているサイトを発見。

参考:Glamenv-Septzen : ぐらめぬ・ぜぷつぇん
"期待されるファイルシステム形式は 1 から '3' の間ですが、実際の形式は '4' です"問題メモ


どうやら、SubversionTortoiseSVNのバージョンが違うみたい。
確認すると・・・

$ svn --version
svn, バージョン 1.5.6 (r36142)

TortoiseSVN
Subversion 1.6.3

なるほど確かに…。
ということで、Subversionの1.6.3をダウンロード&インストール

C:\Documents and Settings\山口真央>svn --version
svn, バージョン 1.6.3 (r38063)

ほぅほぅ。これで上手くいくようになりました。

PukiWikiをサーバに入れてみた

PukiWikiをサーバに入れてみました。


ダウンロード元はPukiWiki Officialページ
今回は最新の「PukiWiki 1.4.7」


設置方法等はPukiWiki Officialページのインストール方法を参照。


意気揚々と作業していたら例の如く最後でつまずいた。
ページを表示させると以下のエラーメッセージ

Runtime error
Error message :


Directory is not found or not writable (DATA_DIR)
Directory is not found or not writable (DIFF_DIR)
Directory is not found or not writable (BACKUP_DIR)
Directory is not found or not writable (CACHE_DIR)

どうやら、アクセス権の変更を行えば良いみたい。


下記のディレクトリ属性を「777」に変更すれば良いみたい。
backup
wiki
diff
cashe


ページを表示させると…

FrontPage

このページは、ページを指定しない時に表示されます。
あなたのサイトに合わせ、自由に編集してください

うむ。上手くいったようだ。

MacでMySQLにパスを通す方法

Mac OS XMYSQLをインストールした。


今回ハマったのはパスを指定するところ。
デフォルトでインストールすると
「/usr/local/mysql/bin/」の場所にインストールされるので、
MySQLを起動するためには

$ /usr/local/mysql/bin/mysql -u root -p パスワード


で起動できるわけですが、これだと長いので解消しなければ、ということで、
パスを通す作業を行います。


今回参考にさせてもらったのは
日はまた昇る MacにMySQLを入れてみた


1.「bash_profile」というファイルを作成してデスクトップ上に保存。
中身は空でOKです。
(※ このとき、拡張子を付けて保存しちゃわないように注意)
これをユーザーディレクトリ(Finder起動してすぐのところ)に置きます。


2.ターミナルを起動して以下のコマンドを入力

$ mv bash_profile .bash_profile


ユーザーディレクトリに置いたファイルが見えなくなったらOK。


3.ターミナルより以下のコマンドでviを起動

vi ~/.bashrc


開いたら編集モードで以下を追加

alias mysql=/usr/local/mysql/bin/mysql
alias mysqladmin=/usr/local/mysql/bin/mysqladmin


保存して閉じる。


4.ターミナル上で以下のコマンドを実行

$ source ~/.bashrc


5.ターミナルより以下のコマンドでviを起動

vi ~/.bash_profile


開いたら編集モードで以下を追加

PATH=/usr/local/mysql/bin:$PATH
export PATH


保存して閉じる。


以上で、以下のコマンドでMySQLを起動できるようになったはず!

$ mysql -u root -p


うむ。OK。

MacからMySQLをアンインストールする方法

MacMySQLを導入しようとしたのだけど、思った以上に苦戦。
皆が日記に書いている通りだぜ・・・。


ということで、MacMySQLを入れてみて、都合上他のVerにしたいと思い、
アンインストールしてみたつもりになったんだけど、
なんか再度インストールしようとすると詰まる。むむむ。


ということで、再インストール時にひっかからないような
アンインストール方法を発見したのでメモメモ。


機会忍者 MySQLのアンインストール方法(MAC OS X)
感謝感謝!


以下のコマンドで以下のものを削除すればOKみたい。

# rm -rf /usr/local/mysqlmysql-5.1.0.・・・のような名前のものも一緒に削除)
# rm -rf /Library/StartupItems/MYSQLCOM
# rm -rf /Library/PreferencePanes/MySQL.prefPane
# rm -rf /Library/Receipts/mysql-XXXXXXXXXXXXXX.pkg

できたできた。
これで一安心