1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
acts_as_searchable は、 HyperEstraier を使って簡単に全文検索を行うことができる、 非常に便利なRailsプラグインです。 しかし、HyperEstraierが提供する類似検索機能を使うインターフェイスが 用意されていないようだったので、類似検索機能を付け足しました。 acts_as_searchable_with_similarity オリジナルの acts_as_searchable に対する差分はこちらにあります。 with_similarity.diff 使い方 まずは、オリジナルと同様に検索対象のモデルに acts_as_searchableを書き加えます。 必要に応じて適切なオプションを指定してください。 app/models/article.rb
RubyProfを使って、Railsアプリのプロファイリングをする方法を紹介します。 まずは、ruby-profをGemでインストールします。 インストールが完了したら、ruby-profプラグインをRailsアプリにインストールします。 ruby-profプラグインは、Gemがインストールされたディレクトリの下にあります。 環境によって場所は変わりますが、例えば/usr/local/lib/ruby/gems/1.8/gems/ruby-prof-0.6.0/rails_plugin/ruby-profなどの場所にあります。 これをvendor/plugins/ruby-profにコピーすれば設定は完了です。 あとはproduction環境でRailsアプリにアクセスすると、以下のようなログが出力されます。 1 Thread ID: 3076980460 2 Total: 2.030
1 map.resources :users 2 map.resource :session routes.rbに出てくる、map.resource。綴り間違い??とひそかに思っていたらちゃんとありました。 map.resourceについてヘルプを見てみます。 Creates named routes for implementing verb-oriented controllers for a singleton resource. A singleton resource is global to the current user visiting the application, such as a user‘s /account profile. 単数コントローラ名でパスを提供する場合に使えるようです。 a singular name is given to map.reso
最近は、自分用にRailsの挙動を拡張するために書いた lib/xxxx_ext.rbが増えてきました。 こういったファイルはconfig/initializer/の直下に 置いても良いのですが、ON/OFFを切り替えやすいので、 config/initializer/libs.rbの中から、require "xxxx_ext" を呼ぶようにしています。 さて、今回はActiveRecordをさらに便利に使うために、 僕が行っている拡張を紹介します。 lib/active_record_ext.rb 1 module ActiveRecord 2 class Base 3 def self.[](arg, *args) 4 case arg 5 when Range 6 find arg.to_a 7 when Hash 8 find :all, arg 9 when :
昨晩は、n桁の16進数を生成しました。 今晩は、n文字のランダムな半角英数文字列を生成するRubyスクリプトを書いてみました。 ただ文字列を生成するだけだとあまり面白くないので、optparseを使ってオプションを取るようにしました。 以下、コード。 1 #/usr/bin/env ruby 2 3 require 'optparse' 4 5 def main(argv) 6 options = {} 7 8 option_parser = OptionParser.new {|opt| 9 opt.on('-l LENGTH', '--len LENGTH', 'Set password length'){|v| options[:l] = v} 10 opt.on('-a [OPTIONAL_CHARS]', '--add [OPTIONAL_CHARS]', 'Add
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く