Determinadas acciones para determinado usuario

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

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 :smiley: apenas
estoy empezando con RoR

Alberto L. 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 :smiley: 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 authlogic.

Un Saludo…

Juan Ripoll wrote:

Alberto L. 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 :smiley: 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 authlogic.

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.

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.