rails
"Thank you, Rails"を翻訳しました。なんか難しかった。 誤訳がたくさんあると思うので,教えていただけるとありがたいです。 - Railsよ,ありがとう jacob Kaplan-Moss 2009/11/05 技術的なコミュニティにとって,ライバルをけなすことはファッションでもあ…
Rails用によく使われているWebサーバ(オレも使ってる)Mongrelの作者であるZed Shawがブチ切れた件が話題になってます。オリジナルのエントリは「Rails Is A Ghetto」と,タイトルもすごい。ずいぶん長文だし,スラング満載でよく分からないのだけど,うれ…
DatePickerを同ページに2つ以上設置すると,2つ目以降表示されない。そういえばRailsネイティブのdate_selectも複数設定とかindex対応とかはうまくやってなかった気がするなあ。
DatePicker(http://rails.to/pages/datepickerj)が, <%= javascript_include_tag :defaults %>してると,表示がおかしくなる(カレンダーが画面いっぱいに広がっちゃう)。FirefoxでもIEでもダメみたい。Railsが1.1.6だから? とりあえず javascript_incl…
In Place Editorを使ったら,IEだと「Saving..」の表示のまま返ってこない… これがどこでも再現するバグとも思えないのだが,Railsが1.1.6だから? サーバまではデータが渡っているので,IEはレスポンスを正しく受け取れていないようだ。となると怪しいのは…
Railsアプリをsubversionで管理していて,ときどきブランチを切ることがある。しかしブランチにあるRailsアプリでマイグレーションを行ってしまうと,DBの構成が変わってしまうのと,マイグレーションファイルには連番がふってあるので,trunk側のマイグレー…
期待した動作にならない。 Hoge.find(:all, :conditions=>["name like '%hoge'"])とかやると,条件節が有効にならずに全件ヒットしてしまう。"name like '%%hoge'" と,%を2つ重ねるとOKみたい。なんでだろう。%って特別な意味を持っているのかなあ。script/…
railsでグループごとのカウントをとるにはこんな感じ。 Article.count(:group=>'name')これで[名前,数]の配列が返ってくる。なんと便利なことだ。これをさらに投稿年でグルーピングしたいと思ってこうやった Article.count(:group=>"year,name")こうすると[…
Railsでは application.rb に定義したメソッドは,どのコントローラからも呼び出すことができる。application_helper.rb に定義したメソッドは,どのビューからも呼び出すことができる(application_helper.rb に定義したメソッドをコントローラから呼び出し…
DBのテーブルが2つあるとする。なんでもいいけど,例えばusersとbookmarks。多対多対応するので,交差テーブルとしてusers_bookmarksを持つ。もちろんUserとBookmarkモデルにはhas_and_belongs_to_manyが指定してある。このようなとき「1週間以内に作成した…
結局ヘルパーに def to_date(time) ::Date(time.year, time.month, time.day) endと追加して,1.month.ago.to_dateって使っていたのを(カッコ悪いけど)to_date(1.month.ago)とした。
突然Railsアプリがエラーを吐くので見てみると, private method `to_date' called for Mon Mar 19 10:21:01 +0900 2007:Time とのこと。Timeのインスタンスにto_dateしたのが気に入らないらしい(Time#to_dateはActiveSupportで追加される機能)。しかしこ…
Railsには多数のレコードを表示するときに,それらをページ分けする機能がある。これってよく使うUIだから,お世話になるんですが,Rails内蔵paginateの評判はあまりよろしくない。というわけで代替のプラグインを探している。 くまくまーさんのお勧めはwill…
Railsには認証用のプラグインはいろいろとあるみたいだけど,有名なのは LoginEngine と UserEngine でしょうか。ところがこの2つは開発を終了してしまったらしい。くまくまーさんのところでお勧めだった acts_as_authenticated がいいかなあ。これはジェネ…
ActiveFormのサブクラスに「include ActiveRecord::Validations」を追加したら動いた。なぜかこのモジュール(標準のARのやつを書き換えている)がincludeされていないことになっているようだ。なぜ?
公式サイトの『データベースにない属性もローカライズの対象にする』http://www.yotabanana.com/hiki/ja/ruby-gettext-howto-ror.html#%A5%C7%A1%BC%A5%BF%A5%D9%A1%BC%A5%B9%A4%CB%A4%CA%A4%A4%C2%B0%C0%AD%A4%E2%A5%ED%A1%BC%A5%AB%A5%E9%A5%A4%A5%BA%A4%C…
ActiveFormは,ARに関連づけられたモデルじゃないクラスに対して,あたかもモデルであるかのように各種validatesメソッドが使えるようになるプラグイン。ruby-gettextはrailsにも対応している多言語化ライブラリ。これを組み合わせて使っていたら,AR#errors…
Ruby on Railsでファイル(特に画像)のアップロードを簡単にするfile_columnというプラグインがあります。 本家サイトはここ→http://www.kanthak.net/opensource/file_column/ 日本語での解説はここ→http://d.hatena.ne.jp/sweeper/20060210/1139565058 日…
こんなよくある感じのActiveRecordのクラスがあります。 class Blog< ActiveRecord::Base has_many :entries end class Entry < ActiveRecord::Base validates_uniqueness_of :entry_url, :scope=>:blog_id belongs_to :blog endBlogが複数のEntryを持ってい…
スタンドアロンではなくEclipse3.2のプラグインとして動かしてみたら問題ない。 もしかしてEclipse側の問題だったのか?
RadRailsは基本はEclipseなのでタスクの設定ができます。例えばコメント中に # TODO: 入力がnullのときに例外をあげるようにすることなんて書いておくと,タスクビューでTODO一覧を見ることができます。これはコーディングを後回しにしてそのまま忘れるミス…
RadRailsで自動更新を行うと,Subclipse(EclipseのSubversionプラグイン)の新しいバージョンがあると言うくせにインストールしようとするとエラーになって更新できません。RadRailsにバンドルされるSubversionは1.3系らしく,1.4系のリポジトリにアクセス…
RadRailsはRubyOnRailsに特化したIDEで,Eclipseベース。スタンドアロンでもEclipseのプラグインとしてでも使うことができる。以前から興味があったのだけど,最近Railsで開発していて,エディタとコンソールとpgAdmin(postgresのGUIフロントエンド)を行っ…
例えば課と課員があって,兼任の課員もいるから両者の関係はn:mになっている。んでもって「課の管理画面」で従業員一覧から「コイツとコイツとコイツが営業第一課ね」てな感じに編集させたい。 <% for employ in @employees %> <%= check_box_tag 'employ', …
目の前にはcsvの山がある。これをrdbに突っ込まないといけない。その後railsアプリがそのrdbを使うのである。csvは何種類かあって,素直にテーブルに対応しているわけじゃない。つーことは突っ込むときにActiveRecordを使えればラクじゃろと思った。ARだけじ…
Ruby on Railsのモデル(RDBのテーブルをクラスにマッピングしたやつ)は簡単に外部キーとか使えてうれしいんだけど(しかも_idが末尾につくカラムは勝手に外部参照扱いしてくれる)、参照先のidは整数じゃないといけないという制限がある。さらにいえばpost…
JRuby(http://jruby.codehaus.org/)は,JavaVM 上に Ruby を実装したもの。Java のクラスを Ruby のクラスのように呼び出したりできる。オリジナル Ruby の 1.8.2 相当ってことで,Rails も動くらしい。Acriverecored-JDBC(http://www.headius.com/jrubyw…
とりあえず scaffold して見るといくつかのカラムが表示されない。すべて「job_id」のように最後に「_id」のついたカラムだ(ところで scaffold は外部参照を追っかけてビューに出力するコードを出してくれるんだっけ?)。Rails の規約では,最後に「_id」…
Rails の規約では,テーブル名はモデル名の複数形である。今まで使っていたDBは Rails のことなんか考えていないので,テーブル名は複数形じゃない。例えばreportとかいうテーブル名になっている。しかし ruby script/generate model Report とかでモデルを…
すでにDBがあって,データもそこそこ入っている状況で,そのDBを使うRailsアプリを作りたい。テーブル構成はシンプルで,メインのテーブルが数個のテーブルを(1:1で)外部参照しているだけ。ただ,このメインテーブルにはRails必須のidカラムが無い。idとし…