I'm trying to create a custom helper like this:
# app/controllers/my_controller.rb
class MyCont开发者_开发百科roller < ApplicationController
  helper :my
  def index
    puts foo
  end
end
# app/helpers/my_helper.rb
module MyHelper
  def foo
    "Hello"
  end
end
But, I got the following error:
undefined local variable or method `foo' for #<MyController:0x20e01d0>
What am I missing ?
Generally, I do the opposite: I use controller methods as helpers.
class MyController < ApplicationController
  helper_method :my_helper
  private 
  def my_helper
    "text"
  end
end
Helpers are accessed from the views, not the controllers. so if you try to put the following inside your index template it should work:
#my/index.html.erb
<%= foo %>
If you do want to access something from the controller, then you should use the include syntax instead of helper, but do not name it like a helper module in that case.
How about just including the helper as a mixin in the controller...
class MyController < ApplicationController
  include MyHelper
  def index
    puts foo
  end
end
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论