Buenas, estoy empezando con rails y ruby y ya tengo hecho, a traves de documentaciones, para subir imagenes, posts, logear y registrar usuarios.. Pero no tengo ni la más minima idea de hacer para que, por ejemplo, si inicias sesion con el usuario A y vas a ver los comentarios de un post, no salga la opcion de pinchar en Editar el comentario que escribió el usuario B(no sé si me seguÃs.. xD) No sé si habrá algun plugin para hacer eso. gracias
on 2009-12-24 15:40
on 2010-01-01 01:28
Vale, se me ha ocurrido hacer lo siguiente ( a ver que os parece): hacer una migracion a la tabla de usuarios con una columna nueva llamada "Rol", en la cual, rol es un string. En el modelo Usuario.rb tecleo: ROL = [ ["Administrador", "admin"] ["Usuario", "usuario"] ] (esto es para los formularios, la verdad es que no es muy importante para la solucion). Bueno, al caso, que una vez el usuario tiene otro campo, llamado Rol ( @usuario.rol ). Lo unico que tendria que hacer es una condicion em la que compruebo si usuario.rol es administrador o usuario. Lo que no me da salido es esa comprobacion, y he probado mil cosas: A ver si alguien me termina de echar el guante (con decirme que necesito de condicion en el if me llega). Y también espero sugerencias sobre mi modo de hacer el rol :D apenas estoy empezando con RoR
on 2010-01-23 10:35
Alberto Lopez wrote: > Vale, se me ha ocurrido hacer lo siguiente ( a ver que os parece): > > hacer una migracion a la tabla de usuarios con una columna nueva llamada > "Rol", en la cual, rol es un string. > > En el modelo Usuario.rb tecleo: > > ROL = [ > ["Administrador", "admin"] > ["Usuario", "usuario"] > ] > (esto es para los formularios, la verdad es que no es muy importante > para la solucion). > > Bueno, al caso, que una vez el usuario tiene otro campo, llamado Rol ( > @usuario.rol ). Lo unico que tendria que hacer es una condicion em la > que compruebo si usuario.rol es administrador o usuario. > > Lo que no me da salido es esa comprobacion, y he probado mil cosas: > > A ver si alguien me termina de echar el guante (con decirme que necesito > de condicion en el if me llega). > > Y también espero sugerencias sobre mi modo de hacer el rol :D apenas > estoy empezando con RoR No entiendo eso que incluyes en el modelo Usuario… La condicion que buscas la tienes que incluir en la vista <% if current_user.rol="admin" %> …. <% end %> De todas maneras mÃrate las gemas de "restful-authentication" y "authlogic" que creo que son lo que estás buscando. También puedes ver este screencast de <a href="http://railscasts.com/episodes/160-authlogic">authlogic</a>. Un Saludo...
on 2010-01-24 04:52
Juan Ripoll wrote: > Alberto Lopez wrote: >> Vale, se me ha ocurrido hacer lo siguiente ( a ver que os parece): >> >> hacer una migracion a la tabla de usuarios con una columna nueva llamada >> "Rol", en la cual, rol es un string. >> >> En el modelo Usuario.rb tecleo: >> >> ROL = [ >> ["Administrador", "admin"] >> ["Usuario", "usuario"] >> ] >> (esto es para los formularios, la verdad es que no es muy importante >> para la solucion). >> >> Bueno, al caso, que una vez el usuario tiene otro campo, llamado Rol ( >> @usuario.rol ). Lo unico que tendria que hacer es una condicion em la >> que compruebo si usuario.rol es administrador o usuario. >> >> Lo que no me da salido es esa comprobacion, y he probado mil cosas: >> >> A ver si alguien me termina de echar el guante (con decirme que necesito >> de condicion en el if me llega). >> >> Y también espero sugerencias sobre mi modo de hacer el rol :D apenas >> estoy empezando con RoR > > No entiendo eso que incluyes en el modelo Usuario… > La condicion que buscas la tienes que incluir en la vista > <% if current_user.rol="admin" %> > …. > <% end %> > > De todas maneras mÃrate las gemas de "restful-authentication" y > "authlogic" que creo que son lo que estás buscando. > También puedes ver este screencast de <a > href="http://railscasts.com/episodes/160-authlogic">authlogic</a>. > > Un Saludo... Hola, simplemente he añadido un parámetro nuevo a la tabla de usuarios: "rol". Pero como quiero que rol sea o bien Admin o Usuario, para ello tengo que poner en el modelo. ROL = [ ["Administrador", "admin"] ["Usuario", "usuario"] ] El problema de los plugins es que no me gusta usarlos, mas que nada porque prefiero hacerlo yo y saber como funciona todo lo que tengo. Al empezar con Rails me habia hecho una especie de blogs con tooodo plugins y al final no tenÃa ni idea de lo que estaba haciendo ni nada xD. Pero gracias por el consejo :). PD: A mi esta solución me ha servido para salir del paso.
on 2010-01-24 06:28
Ah, y lo de la condicion, no me acordaba que lo habÃa preguntado jeje. Al final lo hice con: session[:usuario_rol] = usuario.rol #esto es al crear la sesión, para almacenar el rol. y luego, la condicion: if Usuario.find_by_id(session[:usuario_rol]) == "admin" y listo.
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.