TodoList: レイアウト2007年01月15日 12時17分10秒

TodoListに色々と変更を重ねてきた。色々とテーブルを増やし、各関連付け等も進んでいるが、URL へのアクセスは全て、自分で直打ちしていた。これでは、流石に使いづらい。

app/views 以下に各コントローラに対してのビューが生成されている。rhtml ファイルは body の中身を作っているようだが、head などは別のところで生成されているようだ。

少し調べたら、app/views/layouts から生成されているのを突き止めた。ここで、todo.rhtml など、コントローラ名を含む rhtml ファイルがあり、各コントローラに対して呼ばれるようだ。コントローラ名.rthml が無く、application.rhtml があると application.rhtml が読み込まれる。


% ls app/views/layouts
organization.rhtml
todo.rhtml

と二つのファイルがあったが、どかして application.rhtml を作った。

% cat application.rhtml
<html>
<head>
  <title>Application: <%= controller.action_name %></title>
  <%= stylesheet_link_tag 'scaffold' %>
</head>
<body>

<p>
  <%= link_to 'Home',
    {:controller => 'user', :action => 'home'} %>

  <%= link_if_authorized 'Todo',
    {:controller => 'todo', :action => 'list'} %>
                                   
  <%= link_if_authorized 'Organizations',
    {:controller => 'organization', :action => 'list'} %>
 
 
<p style="color: green"><%= flash[:notice] %></p>
 
<%= yield  %>
 
</body>
</html>

もし、ログインしていたら、Todo と Organization の list ページにいけるようにリンクを作成。user_engine を利用しているので、link_if_authorized を使い、リンクを表示するべきかを判定する。

データを更新したときに表示される緑色の文字は、このページで出力されていたのも判明した。

前回次回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2007/01/15/1113348/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。