Extending a module in a controller

I'm trying to extend Enumerable in my Rails app. I've started with just
the controller where I wanted to use this method i.e.

class LookupController < ApplicationController

module Enumerable
  def my_compress
   ....

... but when I visit the web page in question I get "No method
'my_compress' for Array ..."

I'm probably doing something fundamentally wrong - what could/should I
be doing?

thanks

Toby Rodwell wrote:

I'm trying to extend Enumerable in my Rails app. I've started with just
the controller where I wanted to use this method i.e.

class LookupController < ApplicationController

module Enumerable
  def my_compress
   ....

... but when I visit the web page in question I get "No method
'my_compress' for Array ..."

I'm probably doing something fundamentally wrong - what could/should I
be doing?

You should be putting your model logic in the model, not in the
controller.

thanks

Best,

> module Enumerable
> def my_compress
> ....

> ... but when I visit the web page in question I get "No method
> 'my_compress' for Array ..."

> I'm probably doing something fundamentally wrong - what could/should I
> be doing?

You should be putting your model logic in the model, not in the
controller.

on top of that, by putting it inside the controller like that you've
created a new module called LookupController::Enumerable rather than
extending Enumerable. If I were you I'd keep extensions to core
classes somewhere in lib.

Fred

Frederick Cheung wrote: