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
-~----------~----~----~----~------~----~------~--~---