Hi,
Agree to Colin & Emil. I think this is the good opportunity to implement
Single Table Inheritance(STI) pattern in your application.

-Himanshu

On Sat, May 25, 2013 at 8:32 PM, Emil S <emil.so...@gmail.com> wrote:

> In agreement with Colin's point here. If they all log in with the same
> login form, I'd store them in a single "users" table and have a "roles"
> field that would help authorize requests using something like "CanCan" .
>
>
> On 25 May 2013 12:10, Colin Law <clan...@googlemail.com> wrote:
>
>> On 25 May 2013 03:55, Peter <pe...@poproj.com> wrote:
>> > Can I please get everyone's opinion? Should customers and admins be on
>> > separate tables? I'm developing an application that has two kinds of
>> users,
>> > a customer and an administrator.
>>
>> You have given the game away here by describing them as 'kinds of
>> users'.  Have one table and distinguish the users types with a
>> boolean, for example.  I guess they will both have to login for
>> example, and that is much easier with one table.  You could look at
>> the cancan gem to handle the roles but it may be simpler just to use
>> before_filters to control the access.
>>
>> >
>> > The application basically is a shopping cart. Customers from the
>> internet
>> > create their accounts so they are able to buy my products. But there are
>> > also administrators (admins). Admins are my employees. They maybe call
>> new
>> > customers and try to sell them my products. They have the ability to
>> create,
>> > update and manage customers' accounts. Admins are able to buy products
>> for
>> > customers upon their request. I hope that makes sense.
>> >
>> > Given that admins and customers have different roles but are the same
>> > objects, users, should they be in separate tables? Thank you.
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups
>> > "Ruby on Rails: Talk" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an
>> > email to rubyonrails-talk+unsubscr...@googlegroups.com.
>> > To post to this group, send email to rubyonrails-talk@googlegroups.com.
>> > To view this discussion on the web visit
>> >
>> https://groups.google.com/d/msgid/rubyonrails-talk/5f95a7f7-1368-43f3-ac54-18b0dfa64dfb%40googlegroups.com?hl=en-US
>> .
>> > For more options, visit https://groups.google.com/groups/opt_out.
>> >
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Ruby on Rails: Talk" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to rubyonrails-talk+unsubscr...@googlegroups.com.
>> To post to this group, send email to rubyonrails-talk@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/rubyonrails-talk/CAL%3D0gLvJgAt_G5oc3zvB9gVVZ3KcvhH_tCAAK89gBWi9iaeztg%40mail.gmail.com?hl=en-US
>> .
>>  For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to rubyonrails-talk+unsubscr...@googlegroups.com.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rubyonrails-talk/CAJ%3Dox-C2OzpRqXH-nQJRZTkG79wakYmAnaJspp%2BJKenK2sDGYw%40mail.gmail.com?hl=en-US.
>
>
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/CANQThms2Dvj08LUju2HUCqvEPkbH6uZWXa_%3DHxz%2BjWPD4VuTkA%40mail.gmail.com?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to