2012-01-01から1年間の記事一覧
Rails 3.2.X で jquery-rails 2.1.X を使った際に <%= link_to 'サンプル', hoge_path, :remote => true %> のように remote を指定して ajax で通信するリンクが IE6 で動作しない問題が発生していました。本流の方にはマージされていないのですが、解決策…
表題の現象を確認するために、次のような scope を記述します。 class Hoge < ActiveRecord::Base scope :fuga, where(["some_time <= ?", Time.now]) end これは文法のエラーを起こさないので正しく動作しているように見えますが、実際にはアプリケーション…
表題の通り hoge テーブルの fuga 列にインデックスを作成しても CREATE INDEX hoge_fuga ON hoge(fuga); 条件に IS NULL を含む検索ではインデックスは利用されません。 SELECT * FROM hoge WHERE fuga IS NULL; 結果、上の SQL はレコード数が増えると低速…
三周遅れくらいの話題ですが、最近お仕事で扱うデータのサイズや件数が増えて来て困る事が多いので今後に備えて。 MongoDB のインストール Windows でも Mac でもバイナリが配布されているのでダウンロードして解凍するだけで動き Linux の場合も大体のパッ…
今更 Rails 1.X 系で作られたアプリケーションの保守をしている方がどの程度いるのかも定かではありませんが、ハマると気がつきにくいのでメモ。上記環境でビューで用いる .rhtml ファイルで次のような記述をすると、不可解な構文エラーが発生する事がありま…
MySQL の文字列型が大文字と小文字を区別してくれない事をつい忘れてしまい、時々問題になるので備忘録を兼ねて。前述の通り MySQL では char や varchar さらに text 型と言った文字列型で大文字と小文字が区別されません。これを回避するにはカラムの作成…
新作を作ってみました。今回は Megpoid Adult に歌ってもらいました。イラストはたかはるさんに頂きました。http://takaharuti.main.jp/以下、解説です。 曲の構成 イントロ A B C 間奏 A B C 間奏2 B C エンディング割とオーソドックスなポップスの構成だと…
あるテーブルのすべてのフラグを false にしたい時に、件数が多くなる事が予想されたので1000件ずつ処理しようと考え、次のようなコードを書きました。 while Hoge.where("flag IS true").count > 0 sql = "UPDATE hoge SET flag = false WHERE flag IS true…
表題の通りに、マジックコメントで # coding: utf-8 のように指定した ruby のスクリプトを使っている場合 open("hoge.txt", "w") do |file| file.puts NKF.nkf("-s", "ほげほげ") end のように NKF で変換をかけて書き込もうとしても、マジックコメントで指…
Rails のアプリケーションで mail-iso-2022-jp gem の 1.1.6 を使っていたところ、表題のエラーが発生。 gem の中身を確認してみました。 vi /path/to/gem/mail-iso-2022-jp-1.1.6/lib/mail-iso-2022-jp/patches.rb# coding:utf-8 require 'mail' require 'b…
タイトルの通り rvm でインストールした Ruby 1.9.3 で OpenSSL ライブラリを用いた時にエラーになりました。テストに使ったスクリプトは以下の通り。 require 'net/https' https = Net::HTTP.new('encrypted.google.com', 443) https.use_ssl = true https.…
以下 Rails 3.2.2 について記述します。 scaffold 等で作られる削除のリンクは次のようになっていると思います。 <%= link_to 'Delete', users_path(@user), :method => :delete, :confirm => 'Are you sure?' %> これと同じコードを手で書いて使おうとした…
Rails 3.2.2 で、パスに含まれる値を変数として扱うルーティングを定義したい時の記述方法について。 以下のサンプルではユーザの管理は User モデルで行い、必ず一意である name という値を持ち、ユーザ毎に Item モデルを操作可能だとします。まずは route…
今回はニコニコ動画に投稿してみました。動画でも紹介していますが、絵を描いてくれたのは葉葉波さんです。http://www.pixiv.net/member_illust.php?mode=medium&illust_id=25647899 曲の構成 A 間奏 A B A' 間奏 A B A' エンディングヴァース・コーラス・ヴ…
データベースがロックをかけるのは、明示的に指定した時だけではないというお話。http://www.postgresql.jp/document/pg813doc/html/explicit-locking.htmlPostgreSQL の明示的なロックについては上記ドキュメントの通りです。ドキュメントに記載された通り…
アプリケーション開発中に何らかの理由(主に Rails のバージョン更新)で bundle update を実行する際の注意点について。アプリケーションサーバ(Webrick, Passenger, Unicorn 等)を起動した状態で bundle update を叩くと Gemfile.lock の更新が行われず…
Rails3 系では link_to_remote は link_to :remote => true に変更されています。 <%= link_to 'Ajax 風リンク', hoge_url, :remote => true %> この時 link_to_remote では使えた :with や :submit といった、現在フォームタグに入力された値を get で渡す…
CarrierWave は便利なプラグインですが、デフォルト設定のまま Rails で使うと public 以下の誰でもアクセス可能なディレクトリにファイルを書き込んでしまいます。これでは困る場合は config/application.rb で以下のようにデフォルトのアップロード先を指…
Ruby のような言語を使っていると値渡しと参照渡しなどという概念もあまり意識しませんが、配列の代入は面白い挙動をするので備忘録として残しておきます。確認は Ruby 1.9.2 p290 を使い Max OS SnowLeopard で行いました。まず String 型を別の変数に代入…
config/app_config.yml という名前でファイルを作って config/initializers/app_config.rb から呼び出す時に APP_CONFIG = YAML.load(File.open(Rails.root + '/config/app_config.yml')) で読めるかなと思ったのですが、うまくいかない模様。Rails.root は …
自作曲の解説です。何かの参考にしたり、私の打ち込みミスを発見するのに使ってください。http://soundcloud.com/projecthl2/time-to-say 曲の構成 イントロ A B C 間奏 A B C ソロ C エンディング コード進行 A B C メロ以外は譜面を書かずに作ったので割愛…
通常の CRUD 操作に必要なルーティングの定義は resources でまかなえますが、よくある確認画面を挟む時のルーティングについて説明します。新規作成時の確認画面を confirm_create に、更新確認画面を confirm_update にそれぞれネーミングします。また、モ…
コングラッチュレーション ,―==7 Congratulation! コングラッチュレーション |く ___ _> Congratulation! fll`ーU+' `''、 ー=| おめでとう・・・・・・・・! _,,..-´:|ヽー-;ー..,,_ . ,−=-, ,,..-‘≡≡:| ><´|≡::|ヽ おめでとう・・・・・・・・…