Routing problem

Hi,

I’m developing an engine with a controller, and I have problems to
configure the routing.
The engine is located in vendor/plugins/web_file_attachment. Under
that directory:

  • the controller is in app/controllers/web_file_attachments.rb

  • I’m trying with this controller classes:
    class WebFileAttachment::WebFileAttachmentsController <
    ApplicationController
    and I have tried with equivalent configurations for class
    WebFileAttachmentsController < ApplicationController

  • in routes.rb, I have this (following the docs stating that the
    plugin name is the first part of the controller name):
    connect “/app/web_file_attachments/:action/:id”, :controller =>
    “web_file_attachment/web_file_attachments”

And in the main rails config/routes.rb I have this:
map.from_plugin :web_file_attachment

I still end with this error:
uninitialized constant
WebFileAttachment::WebFileAttachmentsController

though this is exactly how I name my controller.
If I try
require ‘web_file_attachments’
in init.rb, I get an error with ApplicationController not defined.

What am I doing wrong here?
I’m using rails 2.1.1 and engines 2.0.0

Thanks in advance.

Raphaël

On 30 Oct 2008, at 09:33, Raphael B. wrote:

and I have tried with equivalent configurations for class
I still end with this error:
uninitialized constant
WebFileAttachment::WebFileAttachmentsController

though this is exactly how I name my controller.
If I try
require ‘web_file_attachments’
in init.rb, I get an error with ApplicationController not defined.

What am I doing wrong here?
I’m using rails 2.1.1 and engines 2.0.0

The most obvious things are:

  • if your controller is
    WebFileAttachment::WebFileAttachmentsController, then it should be in
    a file called vendor/plugins/web_file_attachment/app/controllers/
    web_file_attachment/web_file_attachments_controller.rb
  • if your controller is WebFileAttachmentsController, then it should
    be in a file called vendor/plugins/web_file_attachment/app/controllers/
    web_file_attachments_controller.rb

Essentially - the name of the plugin isn’t involved in namespacing the
controller, and the file needs to end with _controller.rb. Hopefully
that should get you back on track.

Thanks,

James

On Thu, Oct 30, 2008 at 10:50 AM, James A. [email protected] wrote:

class WebFileAttachment::WebFileAttachmentsController <
map.from_plugin :web_file_attachment
I’m using rails 2.1.1 and engines 2.0.0

The most obvious things are:

  • if your controller is WebFileAttachment::WebFileAttachmentsController,
    then it should be in a file called
    vendor/plugins/web_file_attachment/app/controllers/web_file_attachment/web_file_attachments_controller.rb

Maybe the documentation could be a bit clearer? The example at
http://api.rails-engines.org/classes/Engines/RailsExtensions/Routing.html
puts ‘my_pluign/’ in the controller route.

  • if your controller is WebFileAttachmentsController, then it should be in
    a file called
    vendor/plugins/web_file_attachment/app/controllers/web_file_attachments_controller.rb

yes, you’re right, I misnamed the controller file. Thanks for pointing
it out!

Raph

On 30 Oct 2008, at 11:15, Raphael B. wrote:

Maybe the documentation could be a bit clearer? The example at
http://api.rails-engines.org/classes/Engines/RailsExtensions/Routing.html
puts ‘my_pluign/’ in the controller route.

You’re absolutely right - that is confusing. I’ll change that to make
it clearer.

Thanks!

James

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs