Windows + Xampp環境にAkelosで簡易Blogを作ってみる(1)

前回の「Windows + Xampp環境にAkelosのscaffoldを構築してみる(2)」からの続きです。

ちなみにこの記事はAkelos公式サイトの解説動画を参考にしています。

1).エラー判定を実装

scaffoldを作って一通りのCRUDを確認しましたが、もう少し実用的にするためにTitle項目に必須エラー判定を実装します。app/models/post/post.phpにvalidate関数を実装します。

validatesPresenceOf('title');
    }
}
?>

画面を開き、Titleを空にして登録、または更新をしてみましょう。次のようにエラーメッセージが表示され、処理が中断されます。

image

2).ViewファイルのRails形式とPHP形式について

AkelosではViewファイルをRails形式に書くこともできるようです。次のコマンドをscriptフォルダからコマンドプロンプトで実行してください。

php generate scaffold Post Blog --force --sintags

Viewファイルが書き換えられます。例として変更前と後のソースを下記に載せておきます。

書換前


  link_to_show($post)?>




  link_to_edit($post)?>




  link_to_destroy($post)?>

書換後


  <%= link_to_show post %>




  <%= link_to_edit post %>




  <%= link_to_destroy post %>

公式の解説動画ではRails形式で解説を続けていますが、このブログではphp形式で解説を進めてみます。

もう一度次のコマンドを実行して、Viewファイルをphp形式に直します。

php generate scaffold Post Blog --force

3). viewファイルをブログ風に書き直していく

app/views/blog/listing.tplをブログ風になるように次のように書き換えます。





_{The Akelos Blog}

{?posts} {loop posts}

link_to($post->title, array('action'=>'show', 'id'=>$post->id)); ?>

{post.body}

{post.posted_at}link_to_edit($post); ?>

{end} {end}

ページを開くと次のように変更されているのが、確認できると思います。

image

更にapp/views/blog/show.tplを次のように書き換えてみます。





_{Posts}


link_to($post->title, array('action'=>'show', 'id'=>$post->id)); ?>

textilize($post->body); ?>

{post.posted_at}link_to_edit($post); ?>

text_helperのtextilizeを使うことで、Wikiのように強調や斜体で文字を飾りつけることができるようになります。下記の例のように入力を行い、show画面で確認してみてください。(ただし、日本語には対応できていないようです。)

image

image

次回に続きます。