1024tips

WEBエンジニアがLinux,Mac,Rails他のTIPSをまとめます。目指せ1024TIPS!

2009年10月

cpコマンドで-fを指定しても上書き確認メッセージが出て五月蝿い件

cp -rf コピー元 コピー先
と打つと-fは強制オプションなので上書きの確認メッセージは出ないはずが実際は「○○を上書きしてよろしいですか?」と出て五月蝿いことがある。これはディストリビューションによってcpコマンドが"cp -i"にエイリアスされているかららしい。unalias cpでエイリアスを解除できる。

# which cp
alias cp='cp -i'
/bin/cp
#unalias cp 

Webrickをデーモンとして起動する

Webrickをデーモンとしてサーバに使う方法。さっきの記事ではmongrelが起動するが、Mongrelは開発が止まっていてRails2.3以上のRack対応でセッション周りの管理に追随できなくなってきている。「script/server webrick」でmongrelではなくwebrickを起動できる。さらに-dでログ出力なしになる。

# ruby script/server webrick -d -p 80
=> Booting WEBrick
=> Rails 2.3.2 application starting on http://0.0.0.0:80

Mongrelをデーモンとして起動する

細かいことはいいからとりあえずMongrelをサーバとして動かす必要がある場合。-dでデーモンモード(コンソールにログが出ない)。-pでポート指定。-eを指定しないと-e developmentと同じ。

# ruby script/server -d -p 80
=> Booting Mongrel
=> Rails 2.3.2 application starting on http://0.0.0.0:80
#

Macで半透明のメニューバーを止める設定

Macはデフォルトでメニューバーが半透明になっているが、壁紙設定した場合など文字が読みにくくなって不便。

「システム環境設定」>「デスクトップとスクリーンセーバ」>「デスクトップ」で「半透明メニューバー」のチェックを外す。

30C730B930AF30C830C330D7306830B930AF30EA30FC30F330BB30FC30D0

Windows内にSVNリポジトリ作った場合のパス

都合があってWindows内にリポジトリを作ったが、パス表記で悩んだのでメモ。「file:///c:/」となるのがみそ。※チェックアウトしようとしたら\を/に直すよう怒られた。

file:///C:\Users\Administrator\Desktop\svnrepos\project_hoge

posted with amazlet at 09.10.06
Mike Mason
オーム社
売り上げランキング: 62819
おすすめ度の平均: 4.0
5 trunk,branches,tagsでとまどったら
2 Subversionを使う上で"は"よい本だと思う
5 日本語のSubversion解説本の最高作

Railsのメソッドで引数の数を可変にする

viewのヘルパなど、必要なときだけオプションの引数を受け付けたい場合に便利。options={}でメソッドの引数を可変にできる。


def datetime_select(object_name, method, options = {})
    InstanceTag.new(object_name, method, self, nil, options.delete(:object)).to_datetime_select_tag(options)
end

ちなみにoptions={}で定義した引数はoptions[:key]で参照できる。

ALTER TABLE文でNOT_NULL制約を外す

SSHでしかアクセスできないPostgreSQLサーバでスキーマ変更する必要があった。下記のようにALTER TABLE文でNOT_NULL制約を外した。

[書式]
#NOT NULL制約の削除
ALTER TABLE テーブル名 ALTER COLUMN カラム名 DROP NOT NULL;

「undefined method `quote_ident' for PGconn:Class」エラー@Rails2.3.4+PostgreSQL環境

Rails2.3.2のアプリをRails2.3.4にした所、「undefined method `quote_ident' for PGconn:Class」という見慣れないエラーが。

http://d.hatena.ne.jp/TrinityT/20090831/1251722550 とかhttp://d.hatena.ne.jp/hs9587/20090915/1253008328 を読んだ所、文字通りPostgreSQL用のメソッドがNoMethodになっているようなので以下の記述を追加した。

■config/initializers/new_rails_defaults.rbの修正箇所
以下を冒頭に追加する。冒頭に必要なのは、ActiveRecord初期化前に必要なため。

# for Rails2.3.3 with PostgreSQL
class PGconn
  def self.quote_ident(name)
    '"' + name + '"'
  end
end

訪問者数
  • 今日:
  • 昨日:
  • 累計: