Rails: rhtml からコードを実行 ― 2006年11月25日 07時21分20秒
に user_engine を用いて、認証をかけて実験している。
適当な位置に、
<p>
Count
<%= Todo.count_by_sql('select count(*) from todos') %>
</p>
といれて、http://localhost:3000/user/login を再ロードすると、Todo の数が表示されるようになった。
vender 以下に作られた、 user_controller.rb をapp/controllers/user_controller.rb にコピーした。 login ページにアクセスすると、user_controller の中の同名の関数が実行され、rhtml から関数中の変数にアクセス出来るらしい。user_controller.rb に変数を追加。
def login
@uyota = "uyota's todos"
...
end
app/views/user/login.rhtml に @uyota を追加。
<p>
<%= @uyota %>
<%= Todo.count_by_sql('select count(*) from todos') %>
</p>
controller.rb に直接コードを書き込めるのは、特にプロトタイプや、実験したい時に手軽に出来てとてもいい。
最近のコメント