中高生国際Rubyプログラミングコンテスト

三鷹産業プラザなるところに行ってきた。 が、だれもいなかった。 携帯で確認すると26日(土)の開催。今日は27日(日)。 ・・・ 少しショックなのは、週末に場所と日時を確認し、 その上で日曜日と結論を出したことだ。 なんか疲れてるのかな。。。 そして…

PostgreSQLでテーブル継承機能を使う場合のActiveRecord側の対処

PostgreSQLにはテーブル継承という機能がある。 あまり利用されていないかもしれないが、 使いようによってはかなり便利な機能かもしれない。 ただ、これをRailsで使うには、 ActiveRecord::Baseを継承するモデル側で少し工夫をしてやらなければならない。 …

とうとう「RailsによるアジャイルWebアプリケーション開発 第4版」が出る

http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?&ISBN=978-4-274-06866-9 待ちかねましたよ、Ohmushaさん・・・ しかし待った甲斐があり、 今回出るのはなんと原著の電子版同様Rails3.1対応とのこと。 原著でも紙で出版されてるものは、まだ3.1対応していない(…

ActiveRecordでid以外の主キーを指定すると、createメソッドが使えない

主キーを例えば「code」にしたいという場合、 「set_primary_key」メソッドを使って明示的に主キーを指定するのだが、 この「code」が連番などでない自然キーだったりすると、 当然フォームからキーを入力したくなる。 ところが User.create(code: 'a', name…

Assetsをenabled = falseに

config/application.rbの設定で。 技術情報が(日本語で)充実するまでは逃げておこう。 config.assets.enabled = false この設定。

Rails3.1でEpigraphを(なんとか)動かす

前回の日記で書いたモンキーパッチで落ちる部分は、 以前モジュールだったものがクラスになっており、 かつクラス名(以前はモジュール名)が変わっていただけだったので、 割と簡単に修正して問題は解決した。 しかしそのあと、Webrickは立ち上がるようにな…

EpigraphをRails3.1で動かしてみた→撃沈

そんなすんなり行くわけないかなと反省。 Rails自体のアップグレードはBundlerですんなりうまくいったが、 pgのバージョンが「0.11.0」でなければダメだと怒られた。 「0.9.0」を固定で指定していたのだが、指定を消して0.11.0へアップグレード。 もう1.0.0…

Rails3.1 リリース!

たぶん今週だろうと思っていたが、無事リリースされたようだ。 個人的にはストリーミング機能を試してみたい。 Epigraphでは開発ベースでファイルのアップロードが可能になったので、 動画ファイルのアップロード→ストリーミング再生を実装したい。 動画を活…

中高生国際Rubyプログラミングコンテスト

特に深い理由なく東京の三鷹市へと引っ越してきたわけだが、 なんだかこの三鷹市はRubyの啓蒙でもがんばってる自治体らしい。 松江とか福岡は知っていたのだが。 で、その三鷹市で「中高生国際Rubyプログラミングコンテスト」なるものが開催されるらしい。 h…

JP汎用ドメインを移転

お名前.comからムームードメインへ移転することにした。 お名前.comは気に入っていたのだが、 VPSサーバーの申し込みと同時に取得したドメインの更新料が、 VPSの利用をやめたらものすごく高くなってしまったからだ。 お名前.comは○○割みたいなキャンペーン…

目標1日1コンテンツ

テストも兼ねてRailsを話題にするサイトをEpigraphで作ったのだが、 実際に使うといろいろと問題がちょこちょこ出てくる。 http://rails.twotrees.jp/ とりあえず、1日1コンテンツ増やしたい。 今まで管理画面の方に力を入れていたから、 コンテンツを表示さ…

Epigraphで使っているテクニック(その2) ActiveFormHelperとStandardCrud

この二つは一言で言うと、画面を自動生成するためのものである。 アプリを作っていると大体どのデータ型にどのコンポーネントを割り当てるか、 決まってくるものである。 例えばvarchar型にはテキストフィールド、text型にはテキストエリア、 数値型にはやは…

Aptana Studio 3.0.4 がいつの間にか出ていた

3.0.3をアンインストールして、3.0.4を入れてみた。 過去の日記で書いたように、 Aptana Studioはバージョン3になってからものすごく重くなり、 App Explore上で右クリックしただけで、実質フリーズ状態になったり、 プロジェクトのビルドが同じところで止ま…

Epigraphで使っているテクニック(その1) ActiveValidation

Epigraphはいくつかのライブラリに支えられている。 まずはその中の一つ、ActiveValidationについて書こうと思う。 Railsで開発するとき、まずDBでスキーマの定義を行い、 その定義と同じようにRailsのモデルにバリデーションを実装すると思う。 しかしここ…

Epigraph0.1.0 ようやくリリース!

ブログのタイトルは「Ruby1.9とRails3で何か作ってみる」なのに、 去年サンプルレベルのカートアプリケーションを作ったきり、 新たなアプリケーションの完成はご無沙汰になっていた。 が ようやく完成した。 お〜 アプリの名前は「Epigraph」。英語で「碑文…

既存テーブルのtype列がまずかった

入ってきた仕事をRails3でやることになったのだが、 既存システムの管理画面を再構築する仕事なのでテーブルは既にあり、 Railsで作られているわけではないので当然Railsの規約に従っていない。 テーブル名や外部キーを明示的に指定するやり方はよく書籍に書…

migrationが動かない

いつの間に・・・ rakeのバージョンアップが原因らしい。 確かにmigrationというよりrakeが動かないようだ。 ここに原因と解決法が書いてあった。http://d.hatena.ne.jp/kano4/20110528/undefined_task Google様々。はてな様々。

環境いろいろ

仕事が空いてしまったからアプリを作ろうと思ったが、 何だか立て続けに仕事がきてしまった。 そのうちの一つはRails3の仕事(に持って行った)。お〜 そんなわけでほとんど進捗はないが、 いくつか備忘録を残しておこうと思う。 まずはAptana Studio 3 のス…

Aptana Studio 3 の正式版が信じられないくらい遅い

どういうことだ・・・ 週末に小さな差し込みの仕事が入り対処していたというのもあるが、 あまりにもAptana Studio が遅すぎて、 開発にならない事態になってしまった。 まずApp Explorer というWindowsのエクスプローラみたいなビューなのだが、 ファイルや…

Aptana Studio 3 の正式版が出ていた

普段「Aptana Studio 3」を使っているが、 先月の下旬に正式版がリリースされていたようだ。 知らなかった。今まではRCを使っていたのだが。 しかも3.01になっているではないか。 Aptana Studio はしばらく開発が止まっていたように見える期間があったが、 …

新しいアプリケーションを作ってみる

また、しばらく更新が滞ってしまった。 更新をしなかった間に東日本大震災が発生し、 未だに現実として信じることができないような被害が、 東北地方を中心に日本を襲った。 被災者の方々には心よりお見舞い申し上げたい。 あまりブログを書く気になれなかっ…

旧link_to_remoteをRails3とjQueryで使えるようにする

最近、Ruby1.9やRails3でいくつか仕事を請けている。 個人で請けている仕事なので規模としてはとても小さいものだが、 最近はRailsで提案しても通るようになった。 もちろんRailsというものが顧客層まで浸透してきたとかいうものでは全くなく、 VPSの値段が…

prototype.jsベースからjqueryベースに変更する

Railsがデフォルトで使っているJavascriptライブラリはprototype.jsとscript.aculo.usなのだが、 何となくjqueyがいいなと思って変更することにした。 ちなみに環境はWindows Vista 64bit、Ruby1.9.2p0(RubyInstallerでインストール)。 最初にRailsプロジ…

サンプルサイトを作ってみた

前回の日記でサンプルサイトを公開すると書いたが、 さくらのVPSにデプロイしてみた。 ちなみに Ruby1.9.2 + Rails3.x + PostgreSQL8.4.x の構成で、 カートアプリケーションを作っている(何度も繰り返すが)。 ■管理画面(HTML5+CSS3を使っているのでFiref…

acts_as_listにモンキーパッチを当てる

前にも書いたがacts_as_listの困った点として、 scopeに割り当てたカラムの値を変更した場合、 並び順がうまくいかないことにある。 例えばカテゴリーテーブルと商品テーブルがあるとする。 仮に以下のようなデータが入っていると仮定する。Aカテゴリー 商品…

サブディレクトリに配置したモデルクラスの名前を変更する

ものすごく久しぶりになってしまったが、 少し時間がとれるようになったので再度手を入れることにした。 ちなみに Ruby1.9.2 + Rails3.x + PostgreSQL8.4.x の構成で、 カートアプリケーションを作っている。 さて、今まで「app/models」ディレクトリに 「ap…

手直し第二弾

また更新が空いてしまった。 前回の日記を見ると、Sexy Validationに書き換えると書いてある。 実際に書き換えたのだが、やはりこちらの方が自分としては合っている。 従来のValidationでは、各属性のバリデーションが複数の行に散らばってしまっていたが、 …

手直し第一弾

仕事などもありしばらく更新が滞ってしまった。 一つ前の日記を見るとRuby1.9.2を入れたところまで書いたようだ。 Rails3の正式版を入れたのだが、 bundlerからRMagickのインストールができなくなってしまった。 仕方なくRuby本体のgemにインストールされて…

Deviseを入れた

DeviseはWardenを利用したユーザー認証のためのライブラリーだ。 認証の仕組みそのものはWardenを使っているが(たぶん)、 ユーザー登録機能やメールによる確認機能、パスワード再発行の機能など、 必要な機能を画面つきで提供してくれる。 画面のviewは自…

WEB+DB PRESS Vol.58 詳解Rails3を読んだ

24日の発売日に本屋へ行ったが置いてなく空振りしてしまったが、 今日はあったので早速買って読んでみた。 40ページ弱と雑誌の記事としては結構なページ数で、 かなり気合いが入っているように思えた。 表紙の「詳解Rails3」もものすごく目立つ。 ページ数だ…