rails
テーブルのレコードの検索、ソート、ページネーションをAJAXでやる話。ASCIIcasts - “Episode 240 - Search, Sort, Paginate with AJAX”気になったところのメモ。 link_to のスマートな書き方 link_to title, params.merge(:sort => column, :direction => d…
前にrailscasts見てて気になったところのメモ route→らうと 404→フォーオーフォー みたいに言ってた
先々週くらいのもの。AcriveRecordのソースコードを読む話。何かデジャブだなーと思ったら下記のエントリと似てるんだった。 Rails3 の Arel を使った SQL 作成の流れ - takihiroの日記 気になった点 tapをうまく使ってた。 clone.tap { |r| r.group_values …
メモ。Rails2.3.8のドキュメントより。has_many のブロック中にメソッド定義することで、関連で使えるメソッドを追加できる。 class Account < ActiveRecord::Base has_many :people do def find_or_create_by_name(name) first_name, last_name = name.spli…
Rails2.3.8のドキュメントのざっくり意訳。 delegateの使い方 delegeteで指定したメソッドを、toで指定したオブジェクトに委譲する。 class Greeter < ActiveRecord::Base def hello() "hello" end def goodbye() "goodbye" end end class Foo < ActiveRecor…
ActiveSupportをincludeすると使える。再帰的なmerge。deep_merge!もある。 追記 上記の説明だけだとよく分からないので実行してみた。 ree-1.8.7-2010.01 > a = {:a => {:b => "c"}} => {:a=>{:b=>"c"}} ree-1.8.7-2010.01 > b = {:a => {:c => "d"}} => {:…
twitter_oauthと同じ作者が作ったfacebook用のgem。moomerman's facebook_oauth at master - GitHub Authorized request example twitter の oauth と同じような感じ。ただなぜか最初のうち 401 になった。アプリ設定のweb site→サイトURLを入れたらうまくい…
configatron 的なconfig値を設定する gem。binarylogic's settingslogic at master - GitHub README読んで気づいたconfigatronとの違い config値を扱うクラスを作る必要がある yamlファイル内にERBを埋め込むことが出来る 値の扱い方や、後付けでの値の設定…
DBに配列を入れたいとき、下記のようにmodelでserializeメソッドを使います。 serialize :hoge, Array serializeはyamlに変換してDBに格納するので、fixtureは hoge: - 1 - 2 - 3 のようにすればオッケー。
Railscasts - Polling for Changesを見て。javascriptを使って、ブログのコメント欄を動的に更新する例。気になったところをメモ。 jquery-rails Rails 3 用のジェネレータ。 rails generate jquery:install とすると、 prototype.jsを消して、jquery.js や …
druby使う時のメモ。 drubyのサーバプロセスはスレッドなのでmutex的な処理が必要になってくる drubyの引数/戻り値はMarshall.dumpされたオブジェクト。値渡し。 相手の知らないクラスのインスタンスは送れない(厳密には送れるけどDRbUnknownとかいうオブジ…
Railscasts - Sortable Table Columnsを見て。スクラッチで table に出力されるレコードを sort する話。jsでajaxではなくて普通にクエリで sort する。正直あんまり目新しい要素はなかった。 下記のように injection 対策として ActiveRecord.column_names …
このあたりを見て。 Railscasts - Upgrading to Rails 3 Part 2 ASCIIcasts - “Episode 226 - Upgrading to Rails 3 Part 2” Railscasts - Upgrading to Rails 3 Part 3今週のrailscasts - Upgrading to Rails 3 Part 1 - maeshimaの日記の続き。やっぱり基…
rails's open_id_authentication at master - GitHub 一部意訳したメモ。 前提 openid_authentication は session を使う。代わりにファイルに格納することも出来る。ファイルは RAILS_ROOT/tmp/openids に格納される。でもファイル格納は単一のアプリサーバ…
bundler0.9.24で、Gemfileに gem "ruby-openid", :require => "openid"と書いたのだけど、どうもrequire 'openid'されていないようでエラー。controllerにrequire 'openid'としたら動いた。
メモ。どうやらRspec本が14版になってChapterがずれたみたい。12版だとChapter 20。 序文 一度通ったシナリオはregression testsとして使えるというような文章があった。そもそもregression test ってなんだろ。→調べた。 プログラムを変更した際に、その変…
Railscasts - Upgrading to Rails 3 Part 1を見て。Rails 2 系から3にアップグレードする方法について。以前に自分でいろいろ調べてやり方を調べてメモってたけど、それと大体同じだった。Rails 2.3.5をRails 3.0にアップグレードする方法 - おもしろWEBサー…
アクセス毎にsessionの期限を変化させるには、昔はなんかいろいろ大変だったような気がするんだけど、Rails 2.3 からは ActionController::Base.session_options[:expire_after] = 2.years のように expire_after オプションを使うとすぐ出来るみたいです。 …
Railscasts - Controllers in Rails 3 ASCIIcasts - “Episode 224 - Controllers in Rails 3”を見て。 filter_parameter_logging filter_parameter_logging の設定が application.rb に移行。 config.filter_parameters += [:password] のような設定方法にな…
メモ Railsで使うRDoc生成用rakeコマンド rake doc:app rake doc:plugins 見出し #= #== #=== コメント #-- # RDoc的なコメント #++ リンク http://example.com/ のようなリンクは自動でリンクが張られる。 hoge[http://example.com/]のようにすると <a href="http://example.com/">hoge</a>の…
Railscasts - Chartsを見て。javascriptの高機能なチャートプラグイン Highcharts をRails中で使う例について。見た感じとてもカスタマイズ性が高くてよさげ。他にもいくつかチャートプラグインを紹介していたので、チャートを使うときは参考にしたい。
ASCIIcasts - “Episode 150 - Rails Metal” ASCIIcasts - “Episode 222 - Rack in Rails 3”上記の二つのエントリを見て。Rails2と3ではMetalの位置づけがちょっと違っているような気がした。Rails2ではrailsでrackアプリを使うための機能として作られたけど…
Railscasts - Rack in Rails 3を見て。Rails 3の routes.rb の root :to => "home#index" は root :to => HomeController.action(:index) と同じで、要するに全rackアプリにルーティングできる。なので rails3でルーティングして sinatra を動かす的なことも…
Rails controller の spec の書き方について。 25.1 Controller Specs ModelName.new も疎結合のためにstubを実装したほうがいい。 mock_modelってなんだっけ -> new_record?やidなどの基本的なstubがついてるmock adding context specific examples 成功時…
RubyPulse :: RubyPulse Episode 0.42 - clockwork - A scheduler process to replace cron. - Adam Wigginsを見て。cronの代換となるらしいclockworkについて。 基本 普通のcronみたいな時間指定の実行に加えて、1分ごとで実行とか秒単位で実行したりできる…
builderはデフォルトでhtmlエスケープ的なことをしてくれますが、エスケープしたくないときもあります。 xml = Builder::XmlMarkup.new :indent => 2 xml.root "<hoge></hoge>" xml.target! # => "<root><hoge></hoge></root>" そういうときは xml = Builder::XmlMarkup.ne…
Railscasts - Subdomains in Rails 3を見て。Rails3になって少しだけsubdomain対応が入ったので、それを拡張してsubdomain-fuとか使わなくても良くするという話。どうせなら完全にRails3側で対応してくれたら楽なのになあ。 ローカルでサブドメインを含むweb…
bundlerについていくつか調べたことについてのまとめ。ただし中途半端。間違ってたら教えてください><Bundler: The best way to manage Ruby applications コマンド一覧 Tasks: bundle check # Checks if the dependencies listed in Gemfile are satisfie…
Railscasts - PDFKitを見て。htmlをpdfに変換するライブラリpdfkitについて。裏ではwkhtmltopdfを使ってる。他には特に気になるところは無し。名前だけ覚えておこう。
Railscasts - Active Modelを見て。DBにいれたくないデータをActive Model で扱う例。 include ActiveModel::Validation を入れる。これでvalidationが使えるようになる。モジュールをさらに追加することで(これまでのActiveRecordっぽく)できる下記の二つを…