J'essaie d'écrire un générateur d'action pour mes applications Rails (probablement la forme la plus basique de métaprogrammation que vous pouvez obtenir.) Ma question est, comment puis-je affecter une variable d'instance qui est disponible dans les vues? ressembler à ceci:..Dans Rails, comment assigner une variable d'instance à partir de define_method et l'exposer depuis les contrôleurs jusqu'aux vues?
ApplicationController < ActionController::Base
def generate_custom_action
define_method("my_custom_action") do
#...some code...
instance_variable_set("@variable_name", my_value)
# OR
@variable_name = 'aoeu'
end
end
end
Mais cela ne semble pas fonctionner d'autres termes, le varable « @variable_name » est « nul » dans les vues Toute idée comment exposer ce à la vue
oups ... J'avais oublié d'ajouter la partie "define_method" à l'exemple ci-dessus ... Je l'ai ajouté maintenant. Je vois ce que vous dites, et il semble que ça devrait marcher ... peut-être que j'étais juste en train de réfléchir. Je vais l'essayer et vous le faire savoir. – btelles