Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2008-03-17

[Bilbo]記事タイトルをページタイトルに付加する

permalinkアクションで記事タイトルをグローバル変数に保存し、フック処理から呼び出す。

$permalink_title = nil
class Controller
  def permalink
    @entry = Entry.find(params[:date], :limit => 1, :complete_label => true).first
    $permalink_title = @entry.title
    render(:entry)
  end
end

Plugin.add_hook(:before_header) {
  if $permalink_title
    "<head><title>#{$permalink_title} - #{config[:title]}</title></head>"
  end
}

うーん、グローバル変数を使わずに、アクションメソッド内の変数をフック処理に渡せないものか……。

あ、これでいいのか。

class Controller
  def permalink
    @entry = Entry.find(params[:date], :limit => 1, :complete_label => true).first
    Plugin.add_hook(:before_header) {
      "<head><title>#{@entry.title} - #{config[:title]}</title></head>"
    }
    render(:entry)
  end
end