O grupo no qual você está postando é um grupo da Usenet. As mensagens postadas neste grupo farão com que o seu e-mail fique visível para qualquer pessoa na internet.
Não entendi direito. Você quer criar um método que pode ser chamado em qualquer controller? Se for isso, faça como o Igor falou, crie um método no ApplicationController.
seguindo o que você está querendo fazer, talvez o melhor nem seja um
eval.
Se você precisa executar isso dentro de um método (action), seria mais
interessante fazer o seguinte:
Não fiz os benchmarks para sua ação mas eval eu nunca vejo como boa
idéia :)
Não sei exatamente o que você precisa fazer, mas é simples se for
seguir o que o restante já falou:
Abra o application_controller.rb e adicione:
def execute_nome_metodo
controller_name.singularize.capitalize.constantize.send(:nomeMetodo)
end
E é só chamar execute_nome_metodo nos seus controllers. Se for
necessário executar isso para todas as actions, seria interessante
adicionar um before_filter.
Você poderia também falar mais sobre o que pretende fazer, as vezes há
formas mais interessantes de fazê-lo.
Perdão, mas achei um pouco sem sentido sua pergunta. Se o método
"index" da minha class Home está sendo chamado pelo Rails, basta eu
referencia "self" nesse método que terei acesso ao objeto controller
em execução no momento. Portanto o eval é desnecessário. Poderia
detalhar mais seu questionamento ?
O self é referência ao objeto controller (naquele contexto) sim :)
Na verdade, apontei o self para chamar sua atenção.
O self já é chamado automaticamente para cada execução de métodos
dentro de cada método. Então você nem precisa dele naquele caso.
> Perdão, mas achei um pouco sem sentido sua pergunta. Se o método
> "index" da minha class Home está sendo chamado pelo Rails, basta eu
> referencia "self" nesse método que terei acesso ao objeto controller
> em execução no momento. Portanto o eval é desnecessário. Poderia
> detalhar mais seu questionamento ?
> Abraços.
> 2009/11/2 Igor Leroy <ip.le...@gmail.com>:
>> Ricardo,
>> Ja tentou criar esse método no application.rb?
>>> o método upfirstcase coloca a primeira letra em maiúscula.
>>> Preciso executar o método "nomeMetodo" dependendo de qual controller
>>> eu estiver.
>>> como posso fazer isso?
>> --
>> -- Igor Leroy
>> -- Desenvolvedor Web
>> -- www.igorleroy.com
> O self é referência ao objeto controller (naquele contexto) sim :)
> Na verdade, apontei o self para chamar sua atenção.
> O self já é chamado automaticamente para cada execução de métodos
> dentro de cada método. Então você nem precisa dele naquele caso.
> abraço,
> Bruno Azisaka Maciel
> On Nov 2, 2009, at 11:34 PM, wurtog wrote:
>> Perdão, mas achei um pouco sem sentido sua pergunta. Se o método
>> "index" da minha class Home está sendo chamado pelo Rails, basta eu
>> referencia "self" nesse método que terei acesso ao objeto controller
>> em execução no momento. Portanto o eval é desnecessário. Poderia
>> detalhar mais seu questionamento ?
>> Abraços.
>> 2009/11/2 Igor Leroy <ip.le...@gmail.com>:
>>> Ricardo,
>>> Ja tentou criar esse método no application.rb?
>>>> o método upfirstcase coloca a primeira letra em maiúscula.
>>>> Preciso executar o método "nomeMetodo" dependendo de qual controller
>>>> eu estiver.
>>>> como posso fazer isso?
>>> --
>>> -- Igor Leroy
>>> -- Desenvolvedor Web
>>> -- www.igorleroy.com
> Perdão, mas achei um pouco sem sentido sua pergunta. Se o método
> "index" da minha class Home está sendo chamado pelo Rails, basta eu
> referencia "self" nesse método que terei acesso ao objeto controller
> em execução no momento. Portanto o eval é desnecessário. Poderia
> detalhar mais seu questionamento ?
> Abraços.
> 2009/11/2 Igor Leroy <ip.le...@gmail.com>:
>> Ricardo,
>> Ja tentou criar esse método no application.rb?
>>> o método upfirstcase coloca a primeira letra em maiúscula.
>>> Preciso executar o método "nomeMetodo" dependendo de qual controller
>>> eu estiver.
>>> como posso fazer isso?
>> --
>> -- Igor Leroy
>> -- Desenvolvedor Web
>> -- www.igorleroy.com
> Na verdade sua resposta está corretíssima, a pergunta do nosso colega
> (que originou a thread) que ficou um pouco vaga.
> Abraços.
> 2009/11/2 Bruno Azisaka Maciel <br...@bubble.com.br>:
>> O self é referência ao objeto controller (naquele contexto) sim :)
>> Na verdade, apontei o self para chamar sua atenção.
>> O self já é chamado automaticamente para cada execução de métodos
>> dentro de cada método. Então você nem precisa dele naquele caso.
>> abraço,
>> Bruno Azisaka Maciel
>> On Nov 2, 2009, at 11:34 PM, wurtog wrote:
>>> Perdão, mas achei um pouco sem sentido sua pergunta. Se o método
>>> "index" da minha class Home está sendo chamado pelo Rails, basta eu
>>> referencia "self" nesse método que terei acesso ao objeto controller
>>> em execução no momento. Portanto o eval é desnecessário. Poderia
>>> detalhar mais seu questionamento ?
>>> Abraços.
>>> 2009/11/2 Igor Leroy <ip.le...@gmail.com>:
>>>> Ricardo,
>>>> Ja tentou criar esse método no application.rb?
>>>>> o método upfirstcase coloca a primeira letra em maiúscula.
>>>>> Preciso executar o método "nomeMetodo" dependendo de qual
>>>>> controller
>>>>> eu estiver.
>>>>> como posso fazer isso?
>>>> --
>>>> -- Igor Leroy
>>>> -- Desenvolvedor Web
>>>> -- www.igorleroy.com