検索
連載

第2回 Rails専用IDE「RadRails」でRailsをもっともっと快適にRuby on Rails究極指南(3/3 ページ)

いくらRailsが「less code」をキャッチコピーに使っているとはいえ、まったくコードを書かなければ何も起きません。今回は、コードを書くための環境として、Rails専用IDEである「RadRails」を取り上げる。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

選択肢の作成

 アンケートの選択肢を作る場合は、先ほどと同様に「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版でご覧ください。 ***

リスト2 views/admin/items/_form.rhtmlに追加する内容
図10
図10 http://localhost:3000/admin/items/newにアクセスしてみるとアンケートが選択可能に変更されていることが分かる

投票画面の作成

 実際の投票画面は、専用の新しいコントローラーVoteControllerを作成します。ここではすでにモデルが存在するので、scaffoldではなくcontrollerを使用します。「Generators」タブの左側で「controller」を選択し、右側に「Vote show vote」と入力して[Go]ボタンをクリックすると、コントローラーが生成されます。

 そして、コントローラー(リスト3)とビュー(リスト4)を修正します。投票後はそのままリダイレクトで投票前の画面に戻るため、show.rhtmlと一緒に作られたvote.rhtmlは使わずそのままにしておきます。細かい説明は省きますが、rhtmlファイルがテンプレートとなります。これは、eRuby(埋め込みRuby)というフォーマットで書かれたもので、<%?%>の部分がプログラムとして実行されます。

 以上の作業によって、簡単な投票フォームの完成です。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

リスト3 app/controllers/vote_controller.rb

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

リスト4 app/views/vote/show.rhtml

まとめ

 ここまで、Instant RailsとRadRailsの導入法と使い方を紹介してきました。RadRailsは発展途上なこともあり、慣れたエディタの方が使いやすいというケースもあるでしょう。ただ、Railsアプリケーションの開発に挑戦するためのはじめの一歩にはなるはずです。これをきっかけに、自分の開発しやすい形を見つけてみてください。

本記事は、オープンソースマガジン2006年3月号「Ruby on Rails 1.0の世界」を再構成したものです。


前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る