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: