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 2008-10-30 10:33
on 2008-10-30 10:50
On 30 Oct 2008, at 09:33, Raphael Bauduin 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 2008-10-30 12:15
On Thu, Oct 30, 2008 at 10:50 AM, James Adam <james@lazyatom.com> 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/Rails... 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 2008-10-30 12:24
On 30 Oct 2008, at 11:15, Raphael Bauduin wrote: > > Maybe the documentation could be a bit clearer? The example at > http://api.rails-engines.org/classes/Engines/Rails... > puts 'my_pluign/' in the controller route. You're absolutely right - that is confusing. I'll change that to make it clearer. Thanks! James
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.