Forum: Rails-ES Problema con ámbito de variables

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
4abebd2f6659dd76c634dd9f48c24a3f?d=identicon&s=25 David Arango (Guest)
on 2007-02-09 14:05
(Received via mailing list)
Hola a todos,

Estamos utilizando el plugin acl_system [1] para gestionar los
permisos de acceso en un site que estamos desarrollando.

Este plugin permite definir la lógica de permisos de forma
declarativa, por ejemplo:

class CompanyController < ApplicationController

  access_control [:edit, :unfilled_values] => 'admin' do |context|
    { :company_id => params[:id] }
  end

Mi problema es que no puedo acceder a params desde el bloque que le
estoy pasando a access_control. Necesito pasar esa variable de
contexto para controlar el acceso a determinadas acciones del
controlador.

De momento lo he solucionado metiendo lógica de mi aplicación en
acl_system, lo cual me parece como poco super-feo.

¿Alguien puede echarme un cable?

[1] http://www.agilewebdevelopment.com/plugins/acl_system

--
David Arango, el único desarrollador con una orden de alejamiento de
Jeffrey Zeldman
Simplelogica.net, ahora con un 33,3% más de intromisión en listas de correo

Cuando no hago otra cosa escribo en mildiez.net
8c01355770b98df67a28e5306c5b6502?d=identicon&s=25 Jaime Mora Ramones (moctan)
on 2007-02-09 16:50
David Arango wrote:
> Hola a todos,
>
> Estamos utilizando el plugin acl_system [1] para gestionar los
> permisos de acceso en un site que estamos desarrollando.
>
> Este plugin permite definir la l󧩣a de permisos de forma
> declarativa, por ejemplo:
>
> class CompanyController < ApplicationController
>
>   access_control [:edit, :unfilled_values] => 'admin' do |context|
>     { :company_id => params[:id] }
>   end
>
> Mi problema es que no puedo acceder a params desde el bloque que le
> estoy pasando a access_control. Necesito pasar esa variable de
> contexto para controlar el acceso a determinadas acciones del
> controlador.

Quizá te pueda servir este planteamiento :

http://www.ruby-forum.com/topic/70694#96381

Espero te sirva.
---
Jaime Mora Ramones
4abebd2f6659dd76c634dd9f48c24a3f?d=identicon&s=25 David Arango (Guest)
on 2007-02-09 17:46
(Received via mailing list)
On 2/9/07, Jaime Mora Ramones <ruby-forum-incoming@andreas-s.net> wrote:
> Quizá te pueda servir este planteamiento :
> http://www.ruby-forum.com/topic/70694#96381

Gracias Jaime, aunque en ese thread describen una solución para
restringir el acceso a determinados objetos al hacer un listado.

No se si me explico :-(, básicamente mi problema es que no puedo
pasarle al método access_control el id de un objeto porque ese id
viene en parámetros, supongo que es porque el contexto en el que se
ejecuta el bloque es distinto del contexto del controlador, por tanto
no existe el hash "params"

Este es el cachito de código problemático:

class CompanyController < ApplicationController

 access_control [:edit, :unfilled_values] => 'admin | contact' do
|context|
   # aquí está mi problema, no tengo acceso a params[:id] desde aquí
   context = { :company_id => params[:id] }
 end

Gracias de nuevo
--
David Arango, el único desarrollador con una orden de alejamiento de
Jeffrey Zeldman
Simplelogica.net, ahora con un 33,3% más de intromisión en listas de correo

Cuando no hago otra cosa escribo en mildiez.net
This topic is locked and can not be replied to.