Helperの謎

| コメント(2)

URLとして、

http://hogehoge.com/home/

という表記が良かったので、

app/controllers/home_controller.rb app/helpers/home_helper.rb app/views/home/index.rhtml

という3セットを作って、index.rhtml内で使いたいhelperメソッドをhome_helper.rbに記述したのだが、何故かhelperメソッドが見つからないと言われる。具体的には次のようなプログラム。

# =-=-= home_controller.rb =-=-=-=-=-= class HomeController < ApplicationController def index end end # =-=-= home_helper.rb =-=-=-=-=-= module HomeHelper def hoge(str) str.upcase end end # =-=-= index.rhtml =-=-=-=-=-= <%= hoge('abc') %>

そこで試しにhome_controller.rbに明示的に以下のように宣言を書いてみると動いた。

# =-=-= home_controller.rb =-=-=-=-=-= class HomeController < ApplicationController helper :home # 明示的に def index end end

しかし、home_helper.rb(HomeHelperクラス)は規約に則っているので宣言は必要ないはずだ。おかしい。

原因を確かめるべく、再びコントローラに記述したhelper :homeの行を削除して元に戻してみると・・・なぜか今度はエラーとはならずちゃんと動く。う~む、気持ち悪い。



コメント(2)

こんばんわ、いわさん。
おひさしぶりです、UOでお世話になったりょうです。
お元気ですか?

気がついたら、社会人生活2年目突入です。
プログラマーやってますけど、面白いですね。

懐かしくてついつい書き込みしてみました。V(^^)

おぉ!ひっさしぶり!
ちなみにUOでお世話になったのは私の方ですが(汗)

そうか、もうそんなに経っちゃいましたか。
ちょっち前に体調を崩してから、更新が途絶えてますが、
そろそろまた書き始めようと思ってたんで、良かったらちょくちょく見てやって下さい。

コメントする

このブログ記事について

このページは、iwazerが2007年6月25日 01:09に書いたブログ記事です。

ひとつ前のブログ記事は「size length」です。

次のブログ記事は「WEB+DB PRESS VOL.39」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。