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