top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_930

Ruby:◇ブログシステムを創る:ブログシステム完成 ・・・ 【Ruby:31歩目】

 2009-05-22
 いやぁ、ちょっと間空けすぎちゃったなぁ。
、「Ruby」の学習。

 前回の作業は、1ヶ月以上前、
 ・Ruby:◇ブログシステムを創る:ブログ用HTML作成 ・・・ 【Ruby:30歩目】


 テンプレートファイル利用して
 HTML出力できるところまで、行ったのだったな。
 やめずに続けるべし・・・


  追記に ▼


※この連載は、はじめて「Ruby」に取り組んだmetaboyが、
 PHPなどとの違いを考慮しつつ、ゆっくりと
 良書「はじめてのRubyプログラミング」を基に
 学んでゆく、詳細な記録です。
                      (本日の参照:275頁

FC2ブログランキング にほんブログ村 IT技術ブログ Webサイト構築へ ブログ王ランキング 人気ブログランキング 人気ホームページランキングへ


more  ◇ブログシステムを創る:ブログシステム完成
  まず、残りの頁として
  ■Aboutページの出力
   ※これを行うことで、前回の復習(いや、思い出し)
    を行えるな。

   現在の blogクラスは、下記のようになっている。


class Blog
def initialize # 最初に実行される
read_entries # テキスト読込のメソッドを実行
end

def generate # 生成基本メソッド
# 用意された原稿オブジェクトが格納されている配列を代入
@entries = @all_entries
write_html('index','list') # 最終的に書き込むメソッドを実行
end

def read_entries # 原稿読込メソッド
@all_entries = [] # 配列用意して
Dir.glob('data/*.txt').each do |filename| # .txtファイルだけを探してループ
if File.basename(filename) =~ /\A\d{4}-\d{2}-\d{2}/ #ファイル名の記述をチェック
@all_entries << Entry.new(filename) # 該当対象ファイルを配列に組み込む
end
end
end

def render_view(template) # テンプレートを利用して生成するメソッド
rhtml = File.read("views/#{template}.html.erb") # テンプレートの指定
html = ERB.new(rhtml).result(binding) # オブジェクトとして生成
end
def write_html(name,template = name) # HTMLファイルの出力メソッド
filename = "html/#{name}.html" # 書き出すファイル名も取得し
puts " 生成中・・・@{filename}" # ステータスメッセージとして表示
@content = render_view(template) # 組込みを変数値に行い
html = render_view('layout') # テンプレートの組込み自体は共有テンプレートに変更
File.open(filename, 'w') {|f| f.write(html) } # HTMLファイルとして書き出す(filename)
end
end

 この状態で、
  ●generate_about  の追加、だ。


  def generate_about # About頁生成メソッド
# 用意されたテキストファイルから、オブジェクトを生成
@entry = Entry.new('data/about.txt')
write_html('about') # 最終的に書き込むメソッドを実行
end

  ・dataフォルダに、about.txt として原稿を用意
   するのだが、フォーマットは、HikiDocだ。
  ・newメソッドで、インスタンスを生成し
   write_html関数に送るわけだ。

  ●テンプレートである、view/about.html.erb  は、
   次のようになっていて


<div class="entry">
<%= @entry.to_html %>
</div>

  ・Entryクラスto_html メソッドで
   HikiDocで読み込まれた内容が
   ・Blogクラスwrite_html メソッドを
    通して、生成されるわけだ。
  def write_html(name,template = name) # HTMLファイルの出力メソッド
filename = "html/#{name}.html" # 書き出すファイル名も取得し
puts " 生成中・・・@{filename}" # ステータスメッセージとして表示
@content = render_view(template) # 組込みを変数値に行い
html = render_view('layout') # テンプレートの組込み自体は共有テンプレートに変更
File.open(filename, 'w') {|f| f.write(html) } # HTMLファイルとして書き出す(filename)
end

 さらに、
  ■トップページの出力 として


  def generate_top # 生成基本メソッド
# 用意された原稿オブジェクトが格納されている配列を代入
@entries = @all_entries
write_html('index','list') # 最終的に書き込むメソッドを実行
end
 を用意する。
  ・トップページは、用意された @entries に、
   まとめて渡された、@all_entries
  ・リスト頁として出力するわけだ。

以上、確認終えた。


ここまで進んだところで、
・現在は、すべてローカル環境にて
 テストしている
これを、サイト上で
・テスト・確認できるように行う。



************************************************
◎ サイト上にて、Rubyブログの作成
************************************************


■まず、作業場所を用意
■今までのローカルファイルを
 すべてアップロードして、
■(利用している)hikidoc を
 アップロード
 ・その絶対パスをソースに記入


 ※HIkidoc について・・・ですが
  現在、「本家」の表示が
  おかしいような、(そうでないのか?)


HikiDoc - FrontPage.ja
HikiDoc - FrontPage.ja まぁ、こちら
 情報収集、かな。



 ・・・う~む。


■原稿を用意する
 dataフォルダ内


■SSHでサイトに入り
 該当ディレクトリに移動


 Ruby コマンドで最新ソースを実行。
 いづれ、お見せしたい・・・


 さて、そろそろこの本の
 締めくくり。
 次回は、いよいよ
 ・Ruby on rails だ!

commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/930-e1944d03
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。