If you''re just starting out, consider a controller a collection of
related actions. Often, you''ll find that a controller is tied to a
model, with actions for listing, reading, creating, deleting and editing
entries. A controller might also handle related models (ie. a
blog_controller might also handle comments, categories and tags in
addition to blog posts). Furthermore, a controller might not be related
to a specific model at all. For instance: you might have a controller
named Dashboard that provides an overview of the app.
Here''s a couple of things to have in mind:
* Don''t repeat yourself. Helpers and protected methods in a controller
are shared across all it''s actions and views.
* Think of the controller as a context for the action. Ie, you might
want to see a blog post in a different way in the Admin controller
compared to the Blog controller.
Brian Hogan wrote:> You should read up on Rails before proceding. It''s not something
you
> just "jump into". Get the Agile Web Development book and work
through
> it. There is a ton of good information there.
>
> Generally, a contorller is designed to handle all requests for a
> specific part of your application. You could have only one controller
> for a very simple application, and you could have lots for a very
> complex application.
> It depends entirely on how you want to manage your code. I would not
> do one controller per page... I might consider doing one controller
> per table (which is what you get if you do script/generate scaffold.
>
> As you become more experienced, you''ll begin to understand where
your
> controller boundaries are. Good luck!
>
> On 7/9/06, *Joshua* <joshdavey@gmail.com
<mailto:joshdavey@gmail.com>>
> wrote:
>
> I''m very new to rails and don''t want to get started
in the wrong
> direction.
>
> My problem is that I don''t know how I should structure my
controllers
> and actions. Is there a general rule for what is an action and
> what is a
> controller? For example should I start off by creating a
> controller for
> each page I have or do I create a controller for every table in the
> database?
>
>
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> Rails mailing list
> Rails@lists.rubyonrails.org <mailto:Rails@lists.rubyonrails.org>
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Rails mailing list
> Rails@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>