maeshimaの日記

メモ書きです

2010-04-01から1ヶ月間の記事一覧

正規表現メモ

"hoge".scan(/(.+)hoge(.+)|(.+)/) の三つ目の括弧は$1なのかなと思ったら$3だった。

サブドメインを使ったRailsアプリを作成するときに気をつけること

良く忘れるのでメモ。session cookie の domainを設定しておくこと。そうしないとサブドメイン間でsessionの共有が出来ない。 Rails.application.config.session_store :cookie_store, { :key => '_hoge_session', :domain => "example.com" }

RVM tips

Ruby Freaks Lounge:第40回 RVM(Ruby Version Manager)による環境構築(2)|gihyo.jp … 技術評論社]を読んだまとめ。 rvmのアップデート rvm update --head rvm reload 複数のrubyでプログラムを実行 rvm ruby hoge でインストール済みの全てのrubyでhog…

今週のrailscasts - Validations in Rails 3

Railscasts - Validations in Rails 3を見て。 gem cleanup gem cleanup で古いgemを削除できる。 エラーメッセージ エラーメッセージ系のメソッドがプラグインとして切り出された。動画内ではエラーメッセージをpartial view化することで対応していた。 ren…

ArgumentErrorが大雑把

Ruby の例外クラスは分類が粗すぎる or 細かすぎる - まめめもを読んで。ブクマ代わりのエントリ。 引数の個数が間違っているとき 引数の中身が不正なとき 1以上の整数じゃなきゃダメとか 再帰しているArrayがダメとか がいっしょくたにArgumentErrorを吐く…

machinistの復習

fixture代換プラグインMachinistの使い方 - おもしろWEBサービス開発日記の復習。忘れてた or 気になったところを再度メモ Shamのブロック引数 Shamのブロック変数にはインデックス番号が入る Sham.name {|index| "Name #{index}" } make_unsaved saveしたく…

Array#rand

これは便利。 require "activesupport" puts ["hoge", "fuga"].rand #=> hogeとfugaのどちらかがランダムに表示される 追記 Array#rand is deprecated and will be removed in Rails 3. Use "random_element" instead さらに追記 Array#random_element is de…

Railsレシピブック Recipe 48 - 58

Railsレシピブック Recipe 1 - 17 - maeshimaの日記 Railsレシピブック Recipe 18-28 - maeshimaの日記 Railsレシピブック Recipe 29 - 47 - maeshimaの日記の続き。ActiveRecord編その1。 find 引数に配列を指定できる。 Blog.find([1,2,3]) new_record? …

diredでファイルを削除する

dで削除マーク付けてxで消す 参考 Emacsのdiredの操作メモ

今週のrailscasts - Introducing Devise

Railscasts - Introducing Deviseを見て。rackベースの認証ソリューションプラグインdeviseについて。rails engineを使ってMVC全部のサポートをしてくれるみたい。migrationのメソッドもオーバライドしてる。 self.up create_table(:users) do |t| t.databas…

rails2と3でのcontent_forの挙動の違い

正確にはcontent_forを使わなかった時の挙動が2と3で違う。 <title><%= yield(:title) || "default title" %></title> のようにして、viewにてcontent_for :titleをしなかったときに、Rails 2だとdefault titleになるがRails 3だとタイトルが空白になる

継承したメソッドでの定数探索は親から行われる

てっきり子のNAMEが使われると思ってた class Parent NAME = "parent" def name NAME end end class Child < Parent NAME = "child" end child = Child.new puts child.name # => parent

git reset

git

git rm --cachedとgit resetって同じだよねたぶんgit rm --cached - maeshimaの日記 追記 全然違った。 git rm --cached はファイルをリポジトリの管理下から削除 git reset は staging されてる変更を取り下げる

Array#compact

nilを取り除いた配列を返すメソッド。時々しか使わないので「名前なんだっけ?」となる

テスト

はてなタッチから投稿

DBをリセットするrakeタスク二つ

いつもDBをリセットしたいときは rake db:migrate:reset としていたのだけど、 rake db:reset というrakeタスクもあるらしい。違いが良くわからなかったのでざっくり調べた。 db:migrate:reset rake db:drop rake db:create rake db:migrate と同じっぽい(未…

defined?メソッド

defined?メソッドを使ってるコードを初めて見た。クラス/メソッドの定義 - Rubyリファレンスマニュアル

scriptタグのcharset属性は設定必須ではないか

例えばSJISで書かれているHTMLに、utf-8で書かれているjavascriptで document.getElementById("hoge").innerHTML("ほげ"); とすると文字化けしちゃうんじゃないのかなと思ったけど、scriptタグでcharset="UTF-8"などとするとうまくいく(Firefox3.6.3)。ブラ…

styleプロパティ

styleプロパティ - maeshimaの日記 document.getElementById("hoge").style = "display:block"; はできないけど document.getElementById("hoge").style.display = "block"; とは書けるのでこれを使うのがベスト

今週のrailscasts - ERB Blocks in Rails 3

Railscasts - ERB Blocks in Rails 3を見て。Rails3のviewでのブロックの使い方が変わったという話。 変更点 blockをとるメソッドで=いらなかったのが必要になった Rails 2 <% form_for @users do |f| %> <% end %> Rails 3 <%= form_for @users do |f| %> <…

Proc#arity

引数の数を可変長で受け取れる場合の規則を覚えるのがめんどい Procオブジェクトの引数の数を返します。self が引数の数 を可変長で受け取れる場合 -(最低限必要な数+1)を返します。

git rm --cached

git

開発用の環境と、本番用の環境で一部ソースコードを変更してる時、変更しているファイルはgit addに含めないように気をつけている。でもaddするファイルが多いときは面倒。git add -Aで全部含めたあとにgit rm --cachedで変更しているファイルをインデックス…

jQuery.appendTo()

jQuery.appendTo() - maeshimaの日記では引数にjQueryオブジェクトは渡せない的なことを書いたけど、どうやらできるようになった?みたい。.appendTo() – jQuery API