Hello,I am quite new on rails. Currently making CRUD apps in rails 3.0
in windows.
I’ve used devise [1.1.rc0] for authentication.In those apps, any
logged
in user can change other user’s details.
How can I design the app, so that any logged in user can edit/remove
his details only if he wishes to do so and can only view others’
records.
I am trying to say that users should be recognized by his unique
username/email id and as per that he should be assigned the writing
privileges on his records only.
After logging in he should be directed to his own page,where his
details are stored.He can Update and Delete any of his details
there.But can only View the main page where his record will be kept
with other records.He should not be able to remove or edit others’
records.
Thanks,
Pallav
I understand most of your requirements except this one
“But can only View the main page where his record will be kept
with other records.”
I would use devise along with an authentication scheme
here is a link for railscasts on authentication
you would assign the roles so a user can edit his own records
and only view others
do you have anything like this installed? What are you using for
logging in a user?
How can I design the app, so that any logged in user can edit/remove
his details only if he wishes to do so and can only view others’
records.
I am trying to say that users should be recognized by his unique
username/email id and as per that he should be assigned the writing
privileges on his records only.
CanCan is probably the most popular access control solution for Rails.
It
can easily accomplish what you describe, and more. It works fine with
Devise. You can probably do what you want with just Devise, but I would
really recommend CanCan - and it is really not that difficult to
implement.
Here is a good rails cast for it:
#192 Authorization with CanCan - RailsCasts . There
has
been a a lot of capability added since that was recorded, so be sure to
look at the latest release notes for CanCan on github.