ベリラボ

OSS(オープンソースソフトウェア) を主体とした技術検証と小ネタなど

akelos apache fedora framework linux PHP

Fedora 8 で akelos のチュートリアル (その2)

投稿日:

前回は、akelos導入、チュートリアル用のbooklinkをセットアップをしてbook/authorの追加、更新、削除までやりましたが、今回は、book/authorの関連付けです。

【book/authorモデル追記】

$ cd ~/booklink/
$ vi app/models/book.php
以下のようになるように追記
<?php

class Book extends ActiveRecord
{
var $belongs_to = ‘author’; // <- declaring the association
}

?>

$ vi app/models/author.php
以下のようになるように追記
< ?php

class Author extends ActiveRecord
{
var $has_many = ‘books’; // <- declaring the association
}

?>

【bookコントローラー追記】

$ vi app/controllers/book_controller.php
以下のようになるように追記
class BookController extends ApplicationController
{
var $models = 'book, author'; // < - make these models available

// … more BookController code

function show()
{
// Replace “$this->book = $this->Book->find(@$this->params[‘id’]);”
// with this in order to find related authors.
$this->book = $this->Book->find(@$this->params[‘id’], array(‘include’ => ‘author’));
}

// … more BookController code
}

【book form用テンプレート追記】

$ vi app/views/book/_form.tpl
以下のようになるように追記
< ?php echo $active_record_helper->error_messages_for('book');?>

< label for=”author”>_{Author}
< ?=$form_options_helper->select(‘book’, ‘author_id’, $Author->collect($Author->find(), ‘name’, ‘id’));?>

< label for=”book_title”>_{Title}
< ?php echo $active_record_helper->input(‘book’, ‘title’)?>

【book/author関連付け確認】
Webブラウザから http://XXXXXXXX/book にアクセス。
bookのeditを行ったとき、Author がプルダウンで選択できること。
bookのshowを行ったとき、Author の項目が表示されること

ここまでで本家のチュートリアルに出ているところまでできました。

-akelos, apache, fedora, framework, linux, PHP

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

10進数から16進数の相互変換

10進数から16進数へ変換するときどうやりますか? MicrosoftWindowsな人は、 電卓アプリケーションを使うってことが多いかもしれませんね。 電卓アプリを使おうとすると… スタ …

no image

rpmコマンドまとめ その1

RPMとは、RPM Package Manager の略です。 かなりわかりづらいですね。(笑) ここでいうパッケージ(Packege)とは、 設定ファイルやら実行モジュールなどを一個のファイルにまと …

no image

fetchmail + procmail でメール転送

どこかのメールサーバに届いたメールをなにも考えず全部別のメールサーバに転送したい場合の設定をgoogle、Technoratiで検索したらなかなかみつからなかったのでまとめてみました。 .forwar …

no image

容量を取らない巨大ファイル

Linux/Unix では、lsコマンド等で表示されるファイルサイズが実ディスク上にとられない場合もあります。どんな状況のときにできるのかをwikiにまとめました。是非読んでください。 容量を取らない …

no image

sedの基本

Linux/UNIXで使用されるsedコマンドですが、うまくまとまっているページがみつからなかったのでまとめてみました。 是非見てください。 sedの基本