« できる | トップページ | 他のテーブルを読み込んでリストボックスから選択できるようにする »

2007/09/30

Viewクラスの改造

最近Rubyネタが多いかもしれないけど、フレームワークの構築手順をきちんと記録しておけばきっとそれ以外に役立つ情報も紛れ込ませることができるかもしれないし、自分自身の開発記録にもなって便利なので、またまた書きます。

サンプルで作っている書籍登録サイトに書籍を分類分けするサンプルを作ろうと思ったら、「View」というボタンが気になりました。それほど表示する情報も無いのに、わざわざViewなどと銘打ってボタンを付けるほどの事も無いという点です。

ということで、今回はこれを自由に取るための改造です

Viewクラスに以下の設定とメソッドを追加

  attr_reader :list_view_button
  attr_writer :list_view_button
  
  attr_reader :list_edit_button
  attr_writer :list_edit_button
  
  attr_reader :list_delete_button
  attr_writer :list_delete_button
  
  def initialize_values()
    @list_view_button = true
    @list_edit_button = true
    @list_delete_button = true
  end

そして、一覧を作っている「get_list_table(headers,values)」メソッドにてボタンをそれぞれの条件をもとに追加するコードを追加しました。

Controlクラスに以下のメソッドを追加

  def customize_view()
    
  end

このメソッドを使ってViewを調整できるようにします。

ちなみに、今後Modelにも同じような要望がでるかもしれないので、Modelについてのメソッドもついでに追加してあります。

実際のカスタマイズ方法は、分類用の「book_categorys」というテーブルと「BookCategorys」というクラスで説明を行います。

book_categorysテーブルは

CREATE TABLE book_categorys {
id INTEGER PRIMARY KEY,
name VARCHAR(256)
}

とし、BookCategorysクラスは
class BookCategorys < Control

def initialize()
super("book_categorys")
@title = "分類"
end

def customize_view()
@vw.list_view_button = false
end

end

として、「bookcategorys.rb」という名前を付けてクラス用フォルダに保存します。

その後、header.rbに

load $class_dir + 'bookcategorys.rb'

を追加し、サイトのルートディレクトリにcategorys.rbというファイルを作って下記の内容を入力します。
#!/usr/local/bin/ruby

load "header.rb"

obj = BookCategorys.new()
obj.main()

これでURLを直打ちすればページにアクセスでき、分類の編集ができますが、それではちょっと格好悪いので、テンプレートのページを編集して容易にアクセスできるようにします。tplフォルダにある「page_main.html」から以下の部分を見つけて変更します。

  <div id='menu'>
<a href="./">トップページ</a> |
<a href="categorys.rb">分類</a>
</div>

という具合で分類の編集ができるようになるわけですが、いかがでしょうか。

簡単なステップだと思われる方もおられれば、面倒だと感じられる方もおられることでしょう。

次回(がもしあれば)、この分類と書籍データをリンクさせる方法を解説してみたいと考えています。

また何かご意見・ご感想があれば聞かせて頂けると嬉しく思います。

追記

とりあえず、書籍に分類データを付加する改造は終わり。これをちょっと簡単にするために、いくつか機能の追加をしているから、またそれも合わせて後ほど解説します。(2007/10/01)

|

« できる | トップページ | 他のテーブルを読み込んでリストボックスから選択できるようにする »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Viewクラスの改造:

« できる | トップページ | 他のテーブルを読み込んでリストボックスから選択できるようにする »