Hi my question is relating to Controllers or I think Models. I have a site that allows a user to create one "Company" profile like a superuser account. From which that user can then create several Businesses under that one company account/name. I''ve created the Controller for the Company and for the Business, but I don''t know how to create different types of Businesses on or in the Business Controller. How would I go about doing this, so that when the user selects for example, "Retail Store" and then presses create new Business, that a new Retail Store is created under Business. Also under the newly created Retail Store the user can add product items, so i think this might need to be a controller too, not sure. Sorry for an confusion, but this is why I think it might be done through Controllers or Models. COMPANY # superuser account BUSINESS # here is where the user enters info about the business and selects the business TYPE e.g. Retail Store RETAIL STORE # this is the newly created business, determined by the user when creating the Business, when the user selected the Business type, e.g. Retail Store Thank you --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
At least as a first step, I think I would have independent models for Company, Business and Product, each in a has_many/belongs_to relationship w/the ones next to it. Business should have say, a business_type field, which is where you distinguish between retail stores & factories & whatever other types you''ve got. On your companies/show view you could have a "Add Business" button & a business_type select list, which would call /businesses/new, passing it the id of the Company it was invoked from & the type of business the user wants to create (which just gets stored in the business_type field. Products could work similarly. In case it isn''t obvious, that''s models, controllers *and* views for each of your three things there. If you''re just starting out, try generating scaffolds for each of these & then modify the generated files. HTH, -Roy -----Original Message----- From: rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org [mailto:rubyonrails-talk@googlegroups.com] On Behalf Of garth Sent: Monday, September 15, 2008 1:07 PM To: Ruby on Rails: Talk Subject: [Rails] Creating types or categories Hi my question is relating to Controllers or I think Models. I have a site that allows a user to create one "Company" profile like a superuser account. From which that user can then create several Businesses under that one company account/name. I''ve created the Controller for the Company and for the Business, but I don''t know how to create different types of Businesses on or in the Business Controller. How would I go about doing this, so that when the user selects for example, "Retail Store" and then presses create new Business, that a new Retail Store is created under Business. Also under the newly created Retail Store the user can add product items, so i think this might need to be a controller too, not sure. Sorry for an confusion, but this is why I think it might be done through Controllers or Models. COMPANY # superuser account BUSINESS # here is where the user enters info about the business and selects the business TYPE e.g. Retail Store RETAIL STORE # this is the newly created business, determined by the user when creating the Business, when the user selected the Business type, e.g. Retail Store Thank you --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Thanks alot Pardee, Roy This helps, but I''m wondering after the user selects the business_type and presses create new business, can I have a different view for each type? So that they can fill-out the relevant information for that particular business_type. Would it also be possible for you to show me and example, if not perhaps a link to some examples. Thanks again. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Sure, I think that could work. (You might also want to start googling for "rails single table inheritance" if you want to be able to treat the distinct types of businesses as different ruby classes, tho I don''t know that this is necessary.) What I''m picturing is a companies/show view w/code something like: # companies/show <%= form_tag("/businesses/new") do |f| %> <%= hidden_field_tag("company_id", @company) %> <%= select_tag("business_type", Business.valid_types) %> <%= submit_tag("Create new business for #{@company.name}") %> <%= end %> And then your businesses controller has a new action that looks something like: # businesses_controller.rb def new @business = Buisiness.new @business.company_id = params[:company_id] @business.business_type = params[:business_type] case params[:business_type] when ''retail_store'' templ = ''new_retail_store.html.erb'' when ''factory'' templ = ''new_factory.html.erb'' else templ = ''new_generic_business.html.erb'' end render :template => "busnesses/#{templ}" end But that''s air-code mind you--it''s probably wrong in one way or another... HTH, -Roy -----Original Message----- From: rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org [mailto:rubyonrails-talk@googlegroups.com] On Behalf Of garth Sent: Monday, September 15, 2008 1:55 PM To: Ruby on Rails: Talk Subject: [Rails] Re: Creating types or categories Thanks alot Pardee, Roy This helps, but I''m wondering after the user selects the business_type and presses create new business, can I have a different view for each type? So that they can fill-out the relevant information for that particular business_type. Would it also be possible for you to show me and example, if not perhaps a link to some examples. Thanks again. --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---