Merb-1.0.1では、development環境でも、 通常状態ではファイルにログを出力しないようになっています。 これを出力させるようにするためには、config/environments/development.rb の中で以下のように設定する必要があります。

   1    c[:log_file]  = Merb.root / "log" / "development.log"

posted by Png genki on Fri 21 Nov 2008 at 19:20

簡単に言えば、Rails.vimのMerb版のような感じですね。

インストールするには、

   1  % git clone git://github.com/nono/merb.vim.git

でgithubからcloneしたあと、インストール用のrakeタスクを実行すればOKです。

   1  % rake install
   2  (in /Users/takiuchi/project/merb.vim)
   3  linking ~/.vim/after/ftplugin/eruby.vim
   4  linking ~/.vim/after/ftplugin/eruby_surround.vim
   5  linking ~/.vim/after/syntax/ruby.vim
   6  linking ~/.vim/ftdetect/merb.vim
   7  linking ~/.vim/ftplugin/datamapper.vim
   8  linking ~/.vim/ftplugin/datamapper_migration.vim
   9  linking ~/.vim/ftplugin/feature.vim
  10  linking ~/.vim/ftplugin/haml.vim
  11  linking ~/.vim/ftplugin/merb_controller.vim
  12  linking ~/.vim/syntax/datamapper.vim
  13  linking ~/.vim/syntax/datamapper_migration.vim
  14  linking ~/.vim/syntax/jquery.vim
  15  linking ~/.vim/syntax/merb_controller.vim
  16  linking ~/.vim/syntax/merb_mailer.vim
  17  linking ~/.vim/syntax/merb_router.vim
  18  linking ~/.vim/syntax/merb_view.vim

posted by Png genki on Fri 21 Nov 2008 at 19:04

merbでruby-debugを使ったデバッグをする方法を紹介します。

とは言ってもRailsの時と同様に非常に簡単で、ブレークポイントを仕込みたい場所に

   1    debugger

と書いて、--debuggerオプションを指定してmerbコマンドを実行するだけです。

   1  % merb --debugger

posted by Png genki on Fri 21 Nov 2008 at 17:00

MerbでDataMapperを使っている場合にアソシエイションを記述する場合、 以下のようにhasメソッドを利用します。

   1  class User
   2    include DataMapper::Resource
   3    
   4    property :id,     Serial
   5    property :login,  String
   6  
   7    has n, :assignments
   8    has n, :groups, :through => :assignments
   9  end

第一引数はカーディナリティを指定します。nは DataMapper::Associations#nで、値はInfinityです。 1, 2, 3などの数値や、1..3, 5..n などのRangeを指定する事もできます。

上の例のように、Railsのhas_many :throughのようなこともできます。

posted by Png genki on Fri 21 Nov 2008 at 16:55

Merbではlink_toなどのヘルパーでURLを指定する時に、 urlメソッドを利用しますが、 そこで利用するNamedRouteを定義するためには、 config/router.rbの中で以下のように記述します。

   1    match('/foo').to(:controller => 'foo').name(:foo)

これをViewの中から参照する場合は、

   1  <%= link_to 'Foo', url(:foo) %>

の様になります。

posted by Png genki on Fri 21 Nov 2008 at 12:18

C言語では、 #ifdef #ifndef を使うことによって、条件付きのコンパイルが可能となる。

#ifdefの使い方と意味

#ifdefは、次のようにして使う。

   1  #ifdef MACRO
   2   ・
   3   ・
   4   ・
   5  #endif

これは、「MACROが定義されている場合は、#ifdef~#endifの中を有効にする」という意味である。

#ifndefの使い方と意味

次に、#ifndefは、逆の意味で、以下のように使う。

   1  #ifndef MACRO
   2   ・
   3   ・
   4   ・
   5  #endif

これは、「MACROが定義されていない場合は、#ifndef~#endifの中を有効にする」という意味である。

C言語でヘッダーを書くときの定石

この#ifndefを使ってヘッダーを書く、C言語の定石(?)がある。

以下のような、ヘッダーファイル my.h を定義する。

   1  #ifndef MY_H    /* ヘッダーの最初 */
   2  #define MY_H
   3   ・
   4   ・
   5   ・
   6  #endif          /* ヘッダーの最後  */

こうすることによって、複数のソースから my.h がインクルードされていたとしても、 確実に1度だけ my.h の中身を有効にすることができる。

これで、ヘッダーファイルの管理も楽になりますね!!

posted by Png y_tsuda on Fri 21 Nov 2008 at 10:14
Contents
Merbでログを出力させる方法
Merbistのためのvimプラグイン集「Merb.vim」
merbでデバッグする方法
DataMapperのアソシエイションの記述法(Merb)
MerbでNamedRouteを記述する方法のメモ
#ifdef と #ifndef と ヘッダーを書くときの定石
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
KingofSmack: Here also good reads for this mobile applicatio... '14-5
Spencer: You don't have to re-compile it, this version w... '14-4
staiano: Any chance we can get a recompile for 10.9? '14-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ