• ブログ
  • ふぉとす
  • キーワード
  • ブックマーク
  • 写真
  • ログイン

Title

« 2008年03月12日 | 2008年03月14日 »
  • webフレームワークのWavesを試してみた 2008-03-13 02:39:42

     あまり時間がなかったのだけど、Rubyで書かれたwebフレームワークのWavesをチュートリアルに従って試してみました。
     まずはインストール。

    sudo gem install waves
    

    アプリの作成。

    waves blog
    

    つづいて configuration/default.rbでDBの設定をします。Railsでいうところのconfig/database.ymlと同じかな。

    module Blogs
      module Configurations
        class Default < Waves::Configurations::Default
          database :host => "localhost", :adapter => 'mysql', :database => 'blogs',
            :user => 'root', :password => ''
        end
      end
    end
    

    つづいてmigrationの作成。

    rake schema:migration name=initial_schema
    

    すると、schema/migrations/001_initial_schema.rbにmigrationファイルが作成される。このあたりはRailsとほぼ一緒だね。Rails同様、作りたいテーブルのカラムを定義する。

    class InitialSchema < Sequel::Migration
    
      def up
        create_table :entries do
          primary_key :id
          text :name
          text :title
          text :summary
          text :content
        end
      end
    
      def down
        drop_table :entries
      end
    end
    

    こんな感じ。primary_keyは明示的に指定してやんないといけないのかな。Railsよりは書きやすいです。
    それからmigrateの実行。

    rake schema:migrate
    

    DBを確認すると、確かにentriesテーブルが作成されています。

    それからコンソールで確認してみる。このirbみたいなやつはRailsにもあるけど、ぼくはほとんど使ったことがありません。

    [tsukasa@] $ waves-console 
    irb(main):001:0> M=Blog::Models
    => Blog::Models
    irb(main):002:0> M::Entry.all
    => []
    

    どうやら、Blogという名前空間の下に、すべてのモジュールが存在しているよう。Blog::Modelsで、すべてのModelを指し示していて、さらにその下にEntryというクラスが存在している。Wavesも、テーブル名は複数形、モデルは単数形の名前になるみたい。

    irb(main):002:0> E = Blog::Models::Entry
    => Blog::Models::Entry
    irb(main):003:0> E.create :title => "article title", :name => "tsukasa", :content => "yes", :summary => "y"
    => #<Blog::Models::Entry @values={:content=>"yes", :summary=>"y", :name=>"tsukasa", :title=>"article title", :id=>1}>
    

    こんな感じで、モデルのインスタンスを作成できる。
    そして、てっきりmodelsディレクトリの下にentry.rbでも作られるのかと思っていたら、そんなものはなかった。ふーん。

    とりあえず、今日はここまで。明日はビューをやってみよう。

    Commentコメント(0) Pageリンク元(55) Append 397
  • Linuxクックブック―Linuxを120%使いこなすレシピ集
    作者/アーティスト: Carla Schroder,林 秀幸
    メディア: 単行本
    RailsによるアジャイルWebアプリケーション開発 第2版
    作者/アーティスト: 前田 修吾
    メディア: 大型本
« 2008年03月12日 | 2008年03月14日 »

プロフィール

おおいしつかさ

Amazon商品の一覧

人気の記事ベスト10

  • 1.apache+mod_proxy_balancer+mongrelでRailsを動かす方法
  • 2.Perlでevalを使ってみる
  • 3.バージョン管理をsubversionからgitに移行してみた
  • 4.tokyobikeのドロップハンドル化
  • 5.ubuntu8.04でデュアルディスプレイを使う
  • 6.restful_authenticationを使ってみた
  • 7.URLなど、長い英字を折り返して表示する方法
  • 8.Rspecでコントローラのspecファイルを書く
  • 9.MySQLコンファレンス2008 2日目に参加してきました。
  • 10.RailsとPostfixで受信メールを処理する方法

コメント

  • ユル(プログラマが若隠居をしたら)
  • ユル(風邪ひいた)
  • ユル(バイクがへたくそになっていた)
  • おおいしつかさ(便利になって不便になる)
  • 武石(便利になって不便になる)
  • ユル(劇場版 天元突破グレンラガン)
  • ユル(フラニーとゾーイー (新潮文庫): サリンジャー, 野崎 孝: 本)

過去の記事

2006年
12月
2007年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2008年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月

キーワード一覧

ActionScript AmazonResources git javascript kaeruspoon milook NSR Objective-C Rails Ruby Ruby on Rails subversion Thin tokyobike ubuntu VAIO VAIO typeZ Waves Xen ぐりぐり カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 日本酒 模型 真中洋嗣 自転車

Youtube

ニコニコ動画