Forum: Ruby on Rails Very weird issue - Function not being recognized in template

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
F68e4842b0a5487678e26046fdb2fdf3?d=identicon&s=25 softwareengineer 99 (Guest)
on 2006-02-09 01:58
(Received via mailing list)
I created a function before going to dinner and placed it in
application.rb. Something like:

  def at_home
     ...
  end

  Then I called it from my .rhtml file like:

  <% if at_home %>
  .....
  <% end %>

  The function was working perfectly (I tested it before leaving). When
I got back I keep getting


undefined local variable or method `at_home' for
#<#<Class:0xb6e92960>:0xb6e92898

The weird thing is that I am calling the same function in my controller
and it does not raise this error there?

The only other thing happened is that I rebooted the server.

So my question is does any one have an idea why something like this
would happen? Why is my function in application.rb being recognized by
the controller but not being recognized by my template

  Thoughts and ideas are greatly appreciated.

  Thanks
  Frank
F68e4842b0a5487678e26046fdb2fdf3?d=identicon&s=25 softwareengineer 99 (Guest)
on 2006-02-09 02:08
(Received via mailing list)
I solved it. Apparently it seems like if I use a function in controller
and a template  I need to put  the function in both  application_helper
and application.rb.

  Is there any way to avoid the duplication? Can a function be stored in
a file and be accessible to both templates and the controllers?

  Thanks
  Frank
softwareengineer 99 <softwareengineer99@yahoo.com> wrote:  I created a
function before going to dinner and placed it in application.rb.
Something like:

  def at_home
     ...
  end

  Then I called it from my .rhtml file like:

  <% if at_home %>
  .....
  <% end %>

  The function was working perfectly (I tested it before leaving). When
I got back I keep getting


undefined local variable or method `at_home' for
#<#<Class:0xb6e92960>:0xb6e92898

The weird thing is that I am calling the same function in my controller
and it does not raise this error there?

The only other thing happened is that I rebooted the server.

So my question is does any one have an idea why something like this
would happen? Why is my function in application.rb being recognized by
the controller but not being recognized by my template

  Thoughts and ideas are greatly appreciated.

  Thanks
  Frank



---------------------------------
Brings words and photos together (easily) with
   PhotoMail  - it's free and works with Yahoo!
Mail._______________________________________________
Rails mailing list
Rails@lists.rubyonrails.org
http://lists.rubyonrails.org/mailman/listinfo/rails
C1e5a9e9344b6d31b9df7303e6dc378a?d=identicon&s=25 Craig White (Guest)
on 2006-02-09 02:14
(Received via mailing list)
On Wed, 2006-02-08 at 16:58 -0800, softwareengineer 99 wrote:
> .....
>
> So my question is does any one have an idea why something like this would happen? Why is 
my function in application.rb being recognized by the controller but not being recognized 
by my template
> Thoughts and ideas are greatly appreciated.
>
----
you are gonna have to learn to clear you cache on your web browser
frequently when developing stuff. When you change stuff and the web
browser is still running from cache...you won't notice that something
broke until later.

Shift <click - refresh> works on most browsers.

Craig
This topic is locked and can not be replied to.