"Objetizar" una string

Que tal.

Me ha surgido un problemilla. No sé cómo explicarlo claramente, pero
trataré
de hacerlo mediante código.

Quiero que mi función me regrese el valor de una columna para un
usuario.

def mi_metodo(condition, user, attribute)
if condition
user.name
else
user.attribute
end
end

Es decir que si llamo mi metodo asi:

<%= mi_metodo(true, @user, ‘last_name’) %>

me regresaria el attributo name de @user. (vg. @user.name # => ‘Edgar’)

pero si lo llamo asi:

<%= mi_metodo(false, @user, ‘last_name’) %>

quisiera que regresara el atributo last_name de @user (vg.
@user.last_name #
=> ‘Suarez’)
Pero me sale un error, porque lo que intenta regresar es el atributo
attribute de user (@user.attribute).

Lo que quiero es que me regrese el valor de attribute. Se entiende? :S

Gracias en adelantado.

edgar.js

Prueba algo
así:
def mi_metodo(condition, user, attribute)
if condition
user.name http://user.name
else
user.send(attribute)
end
end

<%= mi_metodo(true, @user, :last_name) %>

así lo que haces es llamar al método last_name de manera dinámica

Saludos

edgar.js
escribió:>

else

http://lists.simplelogica.net/mailman/listinfo/ror-es


/**

<%= mi_metodo(true, @user, ‘last_name’) %>
En vez de esto, pon

<%= (condicion) ? @user.name : @user.last_name %>

Un saludo,

Serabe