I''d like to know the best way forward with regards to Rails and MVC. This is really concerning the controller. I have a ''register'' controller which allows a company to register with the site. Once registered, they go into a backend where they can add employees, activities etc. At the moment, these are all handled by the ''register'' controller but to me, it''s heading the wrong way. Each object has it''s own model for example Company, Employee, Activity, Qualification. my register controller is now going along these lines with regards to actions ..... add_employee, update_employee, add_activity, update_activity etc. Does that make sense or in this case, should each object have a controller called from the main menu ''register.rhtml'' such as link_to ''My Emplyees'', :controller => ''employee'', :action => ''do_sth'' link_to ''My Activities'', :controller => ''activity'', :action => ''do_sth'' CIA -Ants --------------------------------- What kind of emailer are you? Find out today - get a free analysis of your email personality. Take the quiz at the Yahoo! Mail Championship. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
I would definitely go with the latter. Also, I would take a look at any of the numerous blog entries that are cropping up regarding Rails and REST... it''s a style of designing controllers/models that might make sense to you, given the kind of site you''re building. I also might think about, even if you don''t go with rest, abstracting the register controller to be an action of a different controller. You might have several administrative tasks that are associated with an overal business... updating business info, maybe adding or removing admin users to their business account... you may want to make a controller that contains functions pertaining to overall business activities, and make register an action of that controller. I would compare this to something like having a regular user login/logout type of situation. Instead of having a register controller for when a new user signs up, you might want to have a User controller with a register action, a login action, a logout action, an edit action, etc. Again, this lends itself to REST, so definitely read up on that. On 2/26/07, Anthony Gardner <cyclewood_ltd-/E1597aS9LT10XsdtD+oqA@public.gmane.org> wrote:> > I''d like to know the best way forward with regards to Rails and MVC. This > is really concerning the controller. > > I have a ''register'' controller which allows a company to register with the > site. Once registered, they go into a backend where they can add employees, > activities etc. > > At the moment, these are all handled by the ''register'' controller but to > me, it''s heading the wrong way. > > Each object has it''s own model for example Company, Employee, Activity, > Qualification. > > my register controller is now going along these lines with regards to > actions ..... add_employee, update_employee, add_activity, update_activity > etc. > > Does that make sense or in this case, should each object have a controller > called from the main menu ''register.rhtml'' such as > > link_to ''My Emplyees'', :controller => ''employee'', :action => ''do_sth'' > link_to ''My Activities'', :controller => ''activity'', :action => ''do_sth'' > > CIA > > -Ants > > ------------------------------ > What kind of emailer are you? Find out today - get a free analysis of your > email personality. Take the quiz at the Yahoo! Mail Championship<http://uk.rd.yahoo.com/mail/uk/taglines/default/championships/quiz/*http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk/> > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
If you are using Rails 1.1.6 then spagetti code will result. If you are using Rails 1.2.2 to build a RESTful app, then your design becomes clean when you embrace the RESTful design concepts. All registration activities will be handled by RegistrationController, employee management by EmployeeController and so on. On 2/26/07, Anthony Gardner <cyclewood_ltd-/E1597aS9LT10XsdtD+oqA@public.gmane.org> wrote:> I''d like to know the best way forward with regards to Rails and MVC. This is > really concerning the controller.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Actually, if he were building a restful app, I would imagine registration would, as I said, become a member of other controllers... REST generally implies that the controllers be nouns, not verbs, and that verbs be the actions of the controllers. On 2/26/07, Bala Paranj <bcparanj-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > If you are using Rails 1.1.6 then spagetti code will result. If you > are using Rails 1.2.2 to build a RESTful app, then your design becomes > clean when you embrace the RESTful design concepts. > > All registration activities will be handled by RegistrationController, > employee management by EmployeeController and so on. > > On 2/26/07, Anthony Gardner <cyclewood_ltd-/E1597aS9LT10XsdtD+oqA@public.gmane.org> wrote: > > I''d like to know the best way forward with regards to Rails and MVC. > This is > > really concerning the controller. > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Yeah, have been thinking about this and was also wondering about the controller noun / verb thing. So, that''s clearer ;) The way forward now looks like being something like UserContoller (for the company) and controllers for EmployeeController etc. After registration, go to UserAdminController which will link to the other contollers. What d''ya think of that?! Cleaner ..... correct? Thanks for replying and taking an interest, too. As a developer, setting things up is the hardest part, the actual work isn''t a problem. But if the design isn''t intuitive from the beginning then it''s just plain wrong!! Luke Ivers <technodolt-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: Actually, if he were building a restful app, I would imagine registration would, as I said, become a member of other controllers... REST generally implies that the controllers be nouns, not verbs, and that verbs be the actions of the controllers. On 2/26/07, Bala Paranj <bcparanj-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: If you are using Rails 1.1.6 then spagetti code will result. If you are using Rails 1.2.2 to build a RESTful app, then your design becomes clean when you embrace the RESTful design concepts. All registration activities will be handled by RegistrationController, employee management by EmployeeController and so on. On 2/26/07, Anthony Gardner <cyclewood_ltd-/E1597aS9LT10XsdtD+oqA@public.gmane.org> wrote:> I''d like to know the best way forward with regards to Rails and MVC. This is > really concerning the controller.--------------------------------- New Yahoo! Mail is the ultimate force in competitive emailing. Find out more at the Yahoo! Mail Championships. Plus: play games and win prizes. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 2/27/07, Anthony Gardner <cyclewood_ltd-/E1597aS9LT10XsdtD+oqA@public.gmane.org> wrote:> > Yeah, have been thinking about this and was also wondering about the > controller noun / verb thing. So, that''s clearer ;) > > The way forward now looks like being something like UserContoller (for the > company) and controllers for EmployeeController etc. After registration, go > to UserAdminController which will link to the other contollers. > > What d''ya think of that?! Cleaner ..... correct?The UserAdmin thing remains somewhat of a bone of contention in a lot of communities... it seems as though that''s a fairly good way to structure it, but if you''re going pure REST, then probably it isn''t: a controller name should imply the noun on which it''s verb actions take place, and in this case, you''re not performing an action on "a useradmin"... but meta-controllers are a fact of life when it comes to doing any kind of decent sized web app. That being said, in your particular case I think you might be able to do something like having a different layout depending on whether or not someone is logged in, with the logged in layout having a menu bar with links to the various controllers, so you can get from any controller to any other controller without having to use the meta-controller. Thanks for replying and taking an interest, too. As a developer, setting> things up is the hardest part, the actual work isn''t a problem. But if the > design isn''t intuitive from the beginning then it''s just plain wrong!! > > **You''re welcome, I agree, and damn right. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---