Is it possible to have method(s) in application_helper.rb available for controllers, just like for views? Actually my method is current_user too and looks pretty similar, but I'd like it in application_helper.rb...
James Schementi schrieb:
ahoge wrote:
Is it possible to have method(s) in application_helper.rb available for controllers, just like for views? Actually my method is current_user too and looks pretty similar, but I'd like it in application_helper.rb...
define the method in your helper, then include your helper at the top of the controller:
class ApplicationHelper def method_to_use_in_controller ... end end
class ApplicationController include ApplicationHelper end
that's the easiest way to do it ... but if you have a lot of methods in your ApplicationHelper you may want to pull it out into a module that gets included into both the helper and controller.
Hi James,
instead of mixin in a whole helper module I'd declare the Helper method as module_function like:
module SomeHelper 1000.times do |index| define_method(:"waste_#{index}") { index ** 2 } end def some_method(*some_args) some_args.inspect end
module_function :some_method end
In your controller you can then do:
class Somes < ApplicationController def some_action SomeHelper.some_method end end
Don't pollute your controller...
Regards Florian
Thanks