第2回 Rails専用IDE「RadRails」でRailsをもっともっと快適に:Ruby on Rails究極指南(3/3 ページ)
いくらRailsが「less code」をキャッチコピーに使っているとはいえ、まったくコードを書かなければ何も起きません。今回は、コードを書くための環境として、Rails専用IDEである「RadRails」を取り上げる。
選択肢の作成
アンケートの選択肢を作る場合は、先ほどと同様に「Generators」タブで「Item Admin::Items」と入力すれば、管理画面が表示されるようになります。しかし、これでは選択肢とアンケート自体の結びつきがありません。そこで、モデルクラスに変更を加えます。
まず、画面左側にある「RadRails Navigator」タブで、app/models/enquete.rbを開き、
class Enquete < ActiveRecord::Base
has_many :items
end
のように追加します。同様に、app/modes/items.rbにも、
class Item < ActiveRecord::Base
belongs_to :enquete
end
のように追加します。これによって、EnqueteとItemを関連づけることができました。
続いて、選択肢の管理画面でアンケートを選べるようにします。これは、views/admin/items/_form.rhtmlを編集し、Nameのtext_fieldの下にリスト2のような2行を付け加えます。これによって、アンケートが選べるようになります(図10)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
投票画面の作成
実際の投票画面は、専用の新しいコントローラーVoteControllerを作成します。ここではすでにモデルが存在するので、scaffoldではなくcontrollerを使用します。「Generators」タブの左側で「controller」を選択し、右側に「Vote show vote」と入力して[Go]ボタンをクリックすると、コントローラーが生成されます。
そして、コントローラー(リスト3)とビュー(リスト4)を修正します。投票後はそのままリダイレクトで投票前の画面に戻るため、show.rhtmlと一緒に作られたvote.rhtmlは使わずそのままにしておきます。細かい説明は省きますが、rhtmlファイルがテンプレートとなります。これは、eRuby(埋め込みRuby)というフォーマットで書かれたもので、<%?%>の部分がプログラムとして実行されます。
以上の作業によって、簡単な投票フォームの完成です。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
まとめ
ここまで、Instant RailsとRadRailsの導入法と使い方を紹介してきました。RadRailsは発展途上なこともあり、慣れたエディタの方が使いやすいというケースもあるでしょう。ただ、Railsアプリケーションの開発に挑戦するためのはじめの一歩にはなるはずです。これをきっかけに、自分の開発しやすい形を見つけてみてください。
本記事は、オープンソースマガジン2006年3月号「Ruby on Rails 1.0の世界」を再構成したものです。
関連記事
- developersLife〜開発者という生き方
- 連載第1回:Instant Railsで始めるWindows環境のRails
世界中でRubyの人気が急上昇しているが、このきっかけの1つとなったのがWebアプリケーションフレームワークRuby on Rails(Rails)である。本連載では、このRailsの特徴や魅力を余すところなく伝えていく。 - まつもとゆきひろ――第1回:オープンソースという「お仕事」
- まつもとゆきひろ――第2回:Rubyを開発するということ
- まつもとゆきひろ――第3回:僕の存在価値はそこにある
- Webアプリケーションの開発手法で「早くてキレイ」はRuby on Railsか
「美しいが作るのに時間の掛かる」「汚いが早く作ることができる」――Webアプリケーションの開発手法としてあなたが選択したいのはどちらか? 答えはどちらでもない。Ruby on Railsはある考えに沿って進める限りにおいて「早くて美しい」開発手法を提供してくれるのだから。
関連リンク
- developerWorks
- Ruby on RailsによるWebアプリケーションの高速開発
迅速な開発のためのこのRubyベースのフレームワークでは、モデル/ビュー/コントローラー・パターンが使用されている。 - 境界を越える:Ajax on Rails
Webページの対話性を高める技術、Ajaxに対する熱狂が、さらに高まっています。またRuby on Railsフレームワークの人気も高まっていますが、その理由の1つはAjaxと非常にうまく統合できるという強みがあるためです。Ajax on Railsが、なぜそれほど強力な組み合わせなのか、この記事で学びましょう。
Copyright © ITmedia, Inc. All Rights Reserved.