Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #6268 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

Helpers for Controllers in Modules are not loading

Reported by: mgaffney Assigned to: David
Priority: normal Milestone: 1.2
Component: ActionPack Version: edge
Severity: normal Keywords:
Cc:

Description (Last modified by bitsweat)

I have a conroller named Collector::MetricController. It's helper module is never loaded and the following is logged:

Collector::MetricController: missing default helper module Collector::MetricHelper

I'm running on a windows machine.

Change History

(follow-up: ↓ 2 ) 09/23/06 01:47:20 changed by bitsweat

  • priority changed from high to normal.
  • description changed.
  • severity changed from blocker to normal.

Do you have app/helpers/collector/metric_helper.rb containing Collector::MetricHelper?

(in reply to: ↑ 1 ) 09/25/06 19:16:58 changed by mgaffney

Replying to bitsweat:

Do you have app/helpers/collector/metric_helper.rb containing Collector::MetricHelper?

I'm not sure I understand what you mean, but the file app/helpers/collector/metric_helper.rb looks this:

require 'pp'
module Collector::MetricHelper
  before_filter :log_request

  def log_request
    debug('HTTP_USER_AGENT', request.env['HTTP_USER_AGENT'])
    debug('env',request.env)
    debug('parameters',request.parameters)
    debug('content_type',request.content_type)
    debug('accepts',request.accepts)
    debug('raw_post',request.raw_post)
    debug('query_parameters',request.query_parameters)
    debug('request_parameters',request.request_parameters)
    debug('cookies',request.cookies)
  end

  private
  def debug(title, message)
    m = ""
    PP.pp(message, m, 120)
    logger.debug("#{title}: #{m}")
  end

end

Is this incorrect?

01/28/07 04:29:14 changed by ulysses

mgaffney: that appears right to me.. *I'ing*

01/28/07 04:32:44 changed by ulysses

  • status changed from new to closed.
  • resolution set to worksforme.

mgaffney: I missed the 'before filter :x' line.

That line is probably raising an exception... the curious question is where that exception is being caught.

You want something more like

  def self.included(base)
    base.before_filter :x
  end

01/28/07 04:53:07 changed by ulysses

  • status changed from closed to reopened.
  • resolution deleted.

01/28/07 04:57:18 changed by ulysses

  • status changed from reopened to closed.
  • resolution set to fixed.

(In [6052]) Fix overly greedy rescues when loading helpers. Closes #6268